Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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
Java 如何在片段中使用edittext?_Java_Android_Android Fragments - Fatal编程技术网

Java 如何在片段中使用edittext?

Java 如何在片段中使用edittext?,java,android,android-fragments,Java,Android,Android Fragments,我希望第二个片段中有一个onClickListener,用于其他操作,如对话框任务 但是当我在EditText上或同时在按钮上设置Listener时,我的程序崩溃 例外情况是:NullPointerExceptions 有可能它看不到布局???若有,原因为何 我有3个选项卡布局和1个类似寻呼机的布局,我在寻呼机的活动中执行此操作 “name”是我的编辑文本 public View onCreateView(LayoutInflater inflater, ViewGroup container,

我希望第二个片段中有一个
onClickListener
,用于其他操作,如对话框任务

但是当我在
EditText
上或同时在按钮上设置Listener时,我的程序崩溃

例外情况是:
NullPointerExceptions

有可能它看不到布局???若有,原因为何

我有3个选项卡布局和1个类似寻呼机的布局,我在寻呼机的活动中执行此操作

“name”是我的编辑文本

public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        Bundle args = getArguments();
        int position = args.getInt(ARG_OBJECT);

        int tabLayout = 0;
        switch (position) {
        case 0:
            tabLayout = R.layout.priority_fields;
            break;
        case 1:
            tabLayout = R.layout.authors_fields;
            name.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub  
                    ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(FILL_PARENT, WRAP_CONTENT);
                    ll.setLayoutParams(params);
                    ll.addView(name);
                    ll.addView(surname);
                    authors.addView(ll);
                }
            });
            break;

问题在于您访问编辑文本的方式不同。因此,你在这里得到一个NPE,因为应用程序正在寻找错误的资源

我通常在片段中保留对视图的引用,因此我始终可以访问正确的小部件:

private View mContentView = null;

public View onCreateView {
    LayoutInflater inflater = getActivity().getLayoutInflater();
    mContentView = inflater.inflate(R.layout.dialog_disclaimer, null);
    builder.setView(mContentView);
}
现在,当我想在片段中的其他地方使用EditText时,可以这样做:

@Override
public void onActivityCreated(Bundle arg0) {
    super.onActivityCreated(arg0);

    bAccept = (Button) mContentView.findViewById(R.id.accept_disclaimer);
    etName = (EditText) mContentView.findViewById(R.id.name);

    bAccept.setOnClickListener(this);
    etName.setOnClickListener(this);
}

请将您的日志和源代码张贴在您初始化EditTextThank的地方,但我不明白构建器是什么。我在哪里申报?