MyFirstApp教程Android Studio - sendMessage问题

时间:2017-03-11 07:15:08

标签: java android

所以我刚刚开始学习用于Android开发的Android Studio,并开始在他们的网站上浏览myFirstApp教程。我正在尝试向按钮添加方法但无法使其工作。我在MainActivity.java中有sendMessage方法,当我从“点击”下拉列表中选择它时,它不会出现。我也有正确的进口。有谁知道为什么会这样?感谢。

以下是我的代码:

package com.example.tyler.myfirstapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    /** Called when the user taps the Send button */
    public void sendMessage(View view) {
    // Do something in response to button
    }
}

2 个答案:

答案 0 :(得分:0)

android:onClick="sendMessage"属性添加到activity_main.xml中的按钮标记。

来自你所关注的tutorial

  

现在返回activity_main.xml文件,从按钮调用此方法:

     
      
  1. 单击以选择布局编辑器中的按钮。

  2.   
  3. 在“属性”窗口中,找到onClick属性,然后从下拉列表中选择sendMessage [MainActivity]。

  4.   

您必须跳过此步骤。

答案 1 :(得分:0)

我也坚持使用此代码,因此我略微跳过了该页面,并获取了MainActivity.java的完整代码(除了我保留的第一行)。 一旦替换掉它,我就会在onClick Button属性上显示sendMessage [MainActivity]。

package com.example.your....

public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

/** Called when the user taps the Send button */
public void sendMessage(View view) {
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText = (EditText) findViewById(R.id.editText);
    String message = editText.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);
    startActivity(intent);
}
}