簡體   English   中英

無法使按鈕引用android中的另一個活動

[英]Can't make the button refer to another activity in android

我希望按鈕在單擊時顯示一些文本。 當我們單擊“公式”按鈕時,應該在電話中打開一個新的空白頁面,顯示活動的布局。這是我的代碼

MainActivity.java

public class MainActivity extends Activity {
    public final static String EXTRA_MESSAGE = "";

    // ....

    public void sendMessage(View view) {
    Intent intent = new Intent(MainActivity.this, FormulaActivity.class);
    EditText editText = (EditText) findViewById(R.id.edit);
    String message = editText.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);
     // Do something in response to button
    startActivity(intent);

FormulaActivity.java

public class FormulaActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

        TextView textView = new TextView(this);
        textView.setTextSize(40);
        textView.setText(message);

        // Set the text view as the activity layout
        setContentView(textView);
    }

MainActivity.xml (按鈕編碼)

<Button
    android:id="@+id/formula"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="sendMessage"
    android:text="Formula" />

您只需要在MainActivity.java初始化ButtonEditText

XML Layout File

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical" >

<EditText 
    android:id="@+id/edit"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    />

   <Button 
    android:id="@+id/formula"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Formula"
    android:gravity="bottom"
    />

 public class MainActivity extends Activity
 {
   public void onCreate(Bundle savedInstanceState)
   {
     super.onCreate(savedInstanceState);
     Button F=(Button)findViewById(R.id.formula);
     EditText editText = (EditText) findViewById(R.id.edit);

      F.setOnClickListener(new View.onClickListener()
       {
          public void onClick()
          {
            sendMessage(); 
          }
       }

    }

    public void sendMessage() 
      {
      String message = editText.getText().toString();
      Intent intent = new Intent(MainActivity.this, FormulaActivity.class);
      intent.putExtra("EXTRA_MESSAGE", message);       
      startActivity(intent);
      }
  }

public class FormulaActivity extends Activity 
{

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = getIntent();
    String message = intent.getStringExtra("EXTRA_MESSAGE");

    TextView textView = new TextView(this);
    textView.setTextSize(40);
    textView.setText(message);

    // Set the text view as the activity layout
    setContentView(textView);
}

你的

public final static String EXTRA_MESSAGE = "";
是空字符串。 嘗試將其更改為任何值字符串。

希望這會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM