Android 我能';t从具有2个按钮的片段创建新的意图/活动
我试图从一个有两个按钮的片段中创建一个新的活动。这个按钮出现在模拟器上,但当我点击它时,它什么也没做。我在网上学习了很多教程,但大多数都只需按一个按钮就可以完成Android 我能';t从具有2个按钮的片段创建新的意图/活动,android,android-intent,android-button,Android,Android Intent,Android Button,我试图从一个有两个按钮的片段中创建一个新的活动。这个按钮出现在模拟器上,但当我点击它时,它什么也没做。我在网上学习了很多教程,但大多数都只需按一个按钮就可以完成onClickListener。对不起,我是android开发新手 public class UserFragment extends Fragment implements View.OnClickListener { Activity context = getActivity(); @Nullable @O
onClickListener
。对不起,我是android开发新手
public class UserFragment extends Fragment implements View.OnClickListener {
Activity context = getActivity();
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_user, container, false);
Button register = v.findViewById(R.id.btnAkunRegister);
Button login = v.findViewById(R.id.btnAkunLogin);
return v;
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btnAkunLogin:
Intent moveIntent = new Intent(context, LoginActivity.class);
startActivity(moveIntent);
break;
case R.id.btnAkunRegister:
moveIntent = new Intent(context, RegisterActivity.class);
startActivity(moveIntent);
break;
}
}
}
更新:我已尝试按照中的答案进行操作,但没有解决问题。您应该为按钮设置
onClickListener
。您可以在自己的系统中实现此接口Frgamnet,因此您应该在
onCreateView()
方法中将this
设置为侦听器
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_user, container, false);
Button register = v.findViewById(R.id.btnAkunRegister);
Button login = v.findViewById(R.id.btnAkunLogin);
//set listener
register.setOnClickListener(this);
login.setOnClickListener(this);
return v;
}
您是否在xml中设置了
onClick
事件?第一种情况下,您正在定义您的意图moveIntent,但第二种情况下,您没有?@MohammedHanif.no我没有。我如何设置它?我应该将onclick
事件、目标或我当前所在的片段放在哪个xml中?@DanBaruch我首先定义了它,但似乎我不必在第二个案例中定义它,因为它在android studio上显示了一些错误:/Tbh,我只需在切换案例之前定义它(并给它null值),在开关内部,只需分配它的值,在整个开关案例之后,只要调用startActivity,假设它不为空,就会为您节省一些代码行。我尝试过,但应用程序突然关闭。以下是android studio上的错误:抱歉,我粘贴到这里的时间太长,所以我创建了一个pastebin文件。似乎将intent方法中的上下文变量更改为getActivity()
解决了问题!感谢您告诉我设置onClickListener()
方法!