Android 类型new View.OnClickListener(){}的方法findViewByID(int)未定义
我在下面的Button和EditText代码中得到了上述错误。我只是不知道它为什么会来。如果你们能理解并告诉我这里到底出了什么问题,那就太好了Android 类型new View.OnClickListener(){}的方法findViewByID(int)未定义,android,Android,我在下面的Button和EditText代码中得到了上述错误。我只是不知道它为什么会来。如果你们能理解并告诉我这里到底出了什么问题,那就太好了 import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; import andro
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class Activity2 extends Activity {
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
Button btn = (Button) findViewByID(R.id.btn_OK);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent data = new Intent();
EditText txt_username = (EditText) findViewByID(R.id.txt_username);
data.setData(Uri.parse(txt_username.getText().toString()));
setResult(RESULT_OK, data);
finish();
}
});
}
}
我已尝试查看链接中的内容,但它对我不可用。您有一个输入错误:
是EditText txt_username=(EditText)findViewById(R.id.txt_username)
不EditText txt\u用户名=(EditText)findViewByID(R.id.txt\u用户名)代码>
最后一个字母d,是小写字母
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// ...
EditText txt_username = (EditText) findViewByID(R.id.txt_username);
//...
}
}
这是一个“匿名内部类”(类型为View.OnClickListener
)。findViewById()
-方法来自活动
-类,该类不是当前范围。使用以下命令:
Activity2.this.findViewById(R.id.txt_username);
这将获取外部类(Activity
)的上下文,并使您能够使用它的实例方法。findViewByID()
由Activity类拥有。OnClickListener是另一个类,它有自己的函数和方法。您基本上是在尝试调用一个不存在的函数OnClickListener.findViewByID()
我的建议是在OnClickListener之外定义EditText。为此,添加EditText txt\u用户名在onCreate()函数之前输入code>,然后输入txt\u username=(EditText)findViewByID(R.id.txt\u username)代码>在btn.setOnClickListener()之前
代码如下:
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class Activity2 extends Activity {
EditText txt_username;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
txt_username = (EditText) findViewById(R.id.txt_username);
Button btn = (Button) findViewById(R.id.btn_OK);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent data = new Intent();
data.setData(Uri.parse(txt_username.getText().toString()));
setResult(RESULT_OK, data);
finish();
}
});
}
}
是的,收到了,很抱歉我看过头了。谢谢你,朋友!:)这不应导致所述错误。。。尽管你是对的。