[英]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
初始化Button
和EditText
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.