2014-07-17 32 views
0

以前的代码片段已经被随机网站和StackOverflow的答案写下来,但不知何故无法正常工作。我应该补充说,我是制作应用程序的绝对初学者,而且我对Java的使用经验也非常有限。Android onClickListener - Android Studio错误还是我自己的错误?

的错误是:

  • “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); 
     } 
    }); 

我可以犯任何错误,这是肯定的。但任何在正确的方向微调将非常感激。

+0

为什么选择“View.OnClickListener”?你有没有导入视图和按钮类型? – HectorLector

+0

你删除了button_1.setOnClickListener(View.OnClickListener(){},只是button_1.setOnClickListener(新的OnClickListener(){}可以 –

+0

v.toString(),考虑它..... – nobalG

回答

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) { 
} 
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); 
    } 
}); 
+0

我用@Override ,被标记为红色。“注释不允许在这里” –

+0

然后你确实有什么错误 –

0

只要按下“Ctrl + Shift + O”,并增加1个库,你在屏幕上显示的概率解决

1

与图表同意,你应该有@Override OnClick方法。不知道那里有什么问题。实际上,当我将你的例子输入到Android Studio中时,我将3个字母输入到OnClickListener中,并自动填充其余的部分,包括@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()会让你看到那个按钮的描述,而不是它上面的文本。

+0

在我的版本中可能存在一些缺陷,应该会看到更新,并且是的,我知道关于文本,它只是为了在屏幕上获取一些东西,修复了我解决按钮问题后不久。:) –

+0

酷酷。是的,我认为这可能是您的项目设置中的一个缺陷。我不知道它是否导入了其他类型的Button(没有OnClickListener的)。祝你好运。我使用Android Studio时,项目结构问题非常普遍。 – MrPlow