Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.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 如何从片段中获取按钮单击_Java_Android - Fatal编程技术网

Java 如何从片段中获取按钮单击

Java 如何从片段中获取按钮单击,java,android,Java,Android,我有一块碎片,需要一个按钮 问题是,单击它会转到托管所有片段的MainActivity,而不是片段本身。 我尝试登录,但当我单击按钮时,日志中没有显示任何内容 我将向您展示整个onCreateView @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layo

我有一块碎片,需要一个按钮

问题是,单击它会转到托管所有片段的MainActivity,而不是片段本身。 我尝试登录,但当我单击按钮时,日志中没有显示任何内容

我将向您展示整个onCreateView

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.server_settings, container, false);
    final Button loginButton = (Button) view.findViewById(R.id.addServerSettingsbtn);
    loginButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(final View v) {
            //were the magic won't happen.
        }
    });
    return inflater.inflate(R.layout.server_settings, container,false);
}

您必须返回
视图
,而不是再次充气
服务器设置
。每次使用新对象时,充气都会返回您必须返回
视图
,而不是再次充气
服务器设置
。每次使用新对象时,inflate都会返回一个新对象。您的问题(我相信)是,您返回的是一个未分配onClick处理程序的充气视图实例

试试这个:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.server_settings, container, false);
    final Button loginButton = (Button) view.findViewById(R.id.addServerSettingsbtn);
    loginButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(final View v) {
            //were the magic won't happen.
        }
    });
    return view;
}
您的问题(我相信)是您返回的膨胀视图实例没有指定onClick处理程序

试试这个:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.server_settings, container, false);
    final Button loginButton = (Button) view.findViewById(R.id.addServerSettingsbtn);
    loginButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(final View v) {
            //were the magic won't happen.
        }
    });
    return view;
}

哦,谢谢你!这个问题已经解决了整整4个小时(喝了同样数量的啤酒),哦,谢谢!这个问题已经持续了4个小时(并且喝了等量的啤酒)