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