Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.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 使用片段中的按钮打开活动_Android - Fatal编程技术网

Android 使用片段中的按钮打开活动

Android 使用片段中的按钮打开活动,android,Android,我通过在xml中设置onclick解决了这个问题。无论如何都要感谢你们 我试图打开一个片段中带有按钮的活动。但它似乎不适用于我在网上搜索到的代码 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.view

我通过在xml中设置onclick解决了这个问题。无论如何都要感谢你们

我试图打开一个片段中带有按钮的活动。但它似乎不适用于我在网上搜索到的代码

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

    return inflater.inflate(R.layout.view2, container, false);
}
public void onActivityCreated(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);

    button = (Button) getActivity().findViewById(R.id.sys_file);

    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Toast.makeText(getActivity(), "success2", Toast.LENGTH_SHORT).show();
            startActivity(new Intent(getActivity(), system_file_visit_control.class));
        }

    });
}

它可能会帮助你,用这个替换你的代码

private View v;
private Context mContext;

@Override
public void onAttach(@NonNull Context context) {
    super.onAttach(context);
    mContext = context;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    v= inflater.inflate(R.layout.fragment_test, container, false);
    return v;
}

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

    button = (Button) v.findViewById(R.id.sys_file);

    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Toast.makeText(getActivity(), "success2", Toast.LENGTH_SHORT).show();
            startActivity(new Intent(mContext, system_file_visit_control.class));
        }

    });
}

尝试将此代码移动到视图创建的
onViewCreated
方法

像这样:

 @Override
 public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        button = (Button) view.findViewById(R.id.sys_file);

        button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Toast.makeText(getActivity(), "success2", Toast.LENGTH_SHORT).show();
            getContext().startActivity(new Intent(getContext(), system_file_visit_control.class));
        }

    });
}

如果
system\u file\u visit\u control
是一个活动,则按下按钮后将移动到此活动。

您可以通过

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.view2, container, false);
    button = (Button) rootView.findViewById(R.id.sys_file);
    button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            //Start your activity
        }
    });
    return rootView;
}

当您单击按钮时会发生什么?R您确定system\u file\u visit\u control.class是一项活动吗???单击时不会发生任何事情@IvanWoollYes@miladsalimiThe按下按钮是否显示toast消息?