android - 我无法从具有 2 个按钮的片段中创建新的意图/活动
问题描述
我正在尝试从具有 2 个按钮的片段中创建一个新活动。该按钮出现在模拟器上,但是当我单击它时,它什么也没做。我已经在网上学习了很多教程,但其中大多数都是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;
}
}
}
更新:我已经尝试按照stackoverflow的答案,但它并没有解决问题。
解决方案
你应该onClickListener
为你的按钮设置。您在
Frgamnet 中实现此接口,因此您应该在方法中设置this
为侦听器。onCreateView()
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;
}
推荐阅读
- automation - 空手道 - 无法通过数据驱动的场景大纲“示例”替换 graphql 查询变量
- python - Django - 我可以有 2 个多对多字段到另一个模型吗?
- bash - Bash 脚本 || sed 命令
- java - 如何以编程方式更改 Button app:icon 属性
- haskell - 确保两个 (G) ADT 在 (GHC) Haskell 中具有相同的底层表示
- c# - 如何使用尽可能小的边界将多个立方体封装在一个更大的立方体中?
- php - 如何在 sql 和 php 中执行 if-else 条件?
- jenkins - Jenkins Job DSL:未知的返回语句
- python - 如何将特定模式添加到我的循环中?
- python - 使用 Python 进行错误处理和调试