Android onClickListener - Android Studio错误或我自己的错误?

时间:2014-07-17 10:45:23

标签: java android android-studio

之前的代码片段已经借助随机网站和StackOverflow的答案写下来,但不知何故不起作用。我应该补充说,我是制作应用程序的绝对初学者,我的Java经验也非常有限。

错误如下:

  • “setOnClickListener”:标记为红色。
  • “public void onClick(View v){”:对于某些人来说,这里“v”标记为红色 原因。它在“String text = v.toString();”。
  • 中继续显示为红色
  • 该程序还发现我的分号在末尾是多余的 片段。

我正在使用OpenJDK的基础操作系统上的Android Studio测试版。

Button button_1 = (Button) findViewById(R.id.btn_1);
    button_1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            String text = v.toString();
            displayPassword(text);
        }
    });

我本可以犯任何错误,这是肯定的。但任何朝着正确方向的推动都会非常感激。

4 个答案:

答案 0 :(得分:2)

我的建议是:在onClick文件中设置XML,然后在当前类中创建方法。

<Button
    android:id="@+id/btn_1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="click" />

public void click(View arg0) {
}

答案 1 :(得分:1)

同意图表,你应该@Override onClick方法。不知道那里有什么问题。实际上,当我在Android Studio中输入你的示例时,我在OnClickListener中输入了3个字母,其余部分自动填充,包括@Override。

 button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String text = v.toString();
            // do something with the text.
        }
    });

另外,我不认为v.toString()会为您提供任何有用的信息。如果你想要关闭按钮的文本,你想要将它转换为按钮然后调用getText():

Button button = (Button) v;
String text = button.getText().toString();

或者,你可以这样做:

String text = ((Button)v).getText().toString();

只需调用v.toString()即可获得该按钮的描述,而不是文本。

答案 2 :(得分:0)

我相信你需要@Override onClick方法。

Button button_1 = (Button) findViewById(R.id.btn_1);
    button_1.setOnClickListener(new View.OnClickListener() {
    @Override  
    public void onClick(View v) {
        String text = v.toString();
        displayPassword(text);
    }
});

答案 3 :(得分:0)

只需按“ctrl + shift + o”并添加1个您在屏幕上显示的库已解决