我正在制作一个Android应用程序。我有一个TextField和一个按钮。根据文本字段的值,用户单击按钮后我想制作一些东西。我有代码:
EditText et = (EditText)findViewById(R.id.editText1);
String value = et.getText().toString();
ImageButton ib = (ImageButton)findViewById(R.id.imageButton1);
ib.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (value = "a" ) {
//do something }
}
});
然而,这并没有编译,说"不能引用在不同方法中定义的内部类中的非最终变量值"。有没有什么办法解决这一问题?非常感谢
答案 0 :(得分:2)
使用
final String value = et.getText().toString();
然后使用,
if(value.equals("a") {
}
答案 1 :(得分:1)
如果你想比较一个字符串的值,你应该使用“equals”方法而不是“=”。
代码如下所示:
EditText et = (EditText)findViewById(R.id.editText1);
final String value = et.getText().toString();
ImageButton ib = (ImageButton)findViewById(R.id.imageButton1);
ib.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (value.equals("a") ) {
//do something }
}
});
答案 2 :(得分:0)
final String value = et.getText().toString();