如何从选项卡式 Activity 内的片段的 Textview/Button 开始新的 activity
How to start a new activity from Textview/Button of a Fragment inside a Tabbed Activity
如上图所示,我创建了一个名为CustomerFragLogin的Fragment,代码如下:-
public class customerFragLogin extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String mParam1;
private String mParam2;
public customerFragLogin() {
// Required empty public constructor
}
public static customerFragLogin newInstance(String param1, String param2) {
customerFragLogin fragment = new customerFragLogin();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.frag_customer_login, container, false);
}
}
现在,当我单击 'Login' 按钮或 'Forget password' 文本视图时,我想打开一个新的 activity。我该如何实施?
将此添加到您的 CustomerFragLogin
@Override
public void onViewCreated(@NotNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
TextView textView= findViewById(R.id.textView)
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(getActivity(), NewActivity.class));
}
});
}
确保您的 activity 已在清单中声明
如上图所示,我创建了一个名为CustomerFragLogin的Fragment,代码如下:-
public class customerFragLogin extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String mParam1;
private String mParam2;
public customerFragLogin() {
// Required empty public constructor
}
public static customerFragLogin newInstance(String param1, String param2) {
customerFragLogin fragment = new customerFragLogin();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.frag_customer_login, container, false);
}
}
现在,当我单击 'Login' 按钮或 'Forget password' 文本视图时,我想打开一个新的 activity。我该如何实施?
将此添加到您的 CustomerFragLogin
@Override
public void onViewCreated(@NotNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
TextView textView= findViewById(R.id.textView)
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(getActivity(), NewActivity.class));
}
});
}
确保您的 activity 已在清单中声明