0

我是 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);
    }

程序没有错误,但点击事件什么也不做

4

3 回答 3

5

你错过了

  startActivity(intent);

另外初始化editTextonCreate会更好

EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editText = (EditText) findViewById(R.id.edit_message);
}

在发送消息中

public void sendMessage(View view) {
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    intent.putExtra(EXTRA_MESSAGE, editText.getText().toString());
    startActivity(intent);
}
于 2013-10-23T12:06:11.217 回答
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
}

这个

于 2013-10-23T12:08:20.693 回答
1

sendMessage()最后一行的方法中添加这个。 startActivity(intent)

你还没有开始活动..

于 2013-10-23T12:07:22.207 回答