我是Android的新手,并遵循http://developer.android.com/training/basics/firstapp/index.html中的“构建您的第一个应用程序”教程 我的问题是当我点击发送按钮时没有任何反应。
Main.Manifest代码:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="sendMessage"
android:text="@string/button_send" />
Main.java代码
public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
}
程序没有错误,但在点击事件
上什么都不做答案 0 :(得分:5)
你错过了
startActivity(intent);
同样在onCreate
中初始化editText会更好
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.edit_message);
}
在sendMesage中
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
intent.putExtra(EXTRA_MESSAGE, editText.getText().toString());
startActivity(intent);
}
答案 1 :(得分:2)
您没有开始活动。创建意图时,需要调用startActivity;
方法并将意图传递给它。
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent); //need this
}
阅读this
答案 2 :(得分:1)
在最后一行的sendMessage()
方法中添加此内容。
startActivity(intent)
您还没有开始活动..