Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 类型new View.OnClickListener(){}的方法findViewByID(int)未定义_Android - Fatal编程技术网

Android 类型new View.OnClickListener(){}的方法findViewByID(int)未定义

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

我在下面的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 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用户名,然后输入
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();
            }
        });

    }

}

是的,收到了,很抱歉我看过头了。谢谢你,朋友!:)这不应导致所述错误。。。尽管你是对的。