gpt4 book ai didi

java - 所有按钮都从 Android fragment 打开相同的 Activity

转载 作者:行者123 更新时间:2023-12-01 18:00:55 24 4
gpt4 key购买 nike

目前我有一个 fragment_one.xml,上面有 5 个 CardViews,并且每张卡片上都有一个按钮,用于转到单独的 XML 页面(Lesson_One ,Lesson_Two 等...)但是使用我在 OneFragment.java 中的代码,两个按钮都打开 Lesson_Two

我该如何解决这个问题?这是我的代码

FragmentOne.java

public class OneFragment extends Fragment{
Intent intent;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_one, container, false);
intent = new Intent(getActivity(), LessonOne.class);
final Button button = (Button) root.findViewById(R.id.button1);

button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(intent);
}
});

intent = new Intent(getActivity(), LessonTwo.class);
final Button button2 = (Button) root.findViewById(R.id.button2);

button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(intent);
}
});
return root;
}

}

最佳答案

您分配 Intent 两次,有效地用第二个 Intent 覆盖第一个 Intent 。

所以无论触发哪个点击事件,LessonTwo.class都是启动的Activity。

一个简单的修复方法是在点击处理程序中创建 Intent ,例如

public class OneFragment extends Fragment{


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_one, container, false);
final Button button = (Button) root.findViewById(R.id.button1);

button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(getActivity(), LessonOne.class));
}
});

final Button button2 = (Button) root.findViewById(R.id.button2);

button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(getActivity(), LessonTwo.class););
}
});

return root;
}

}

这使得哪个点击处理程序启动哪个 Activity 变得明确

关于java - 所有按钮都从 Android fragment 打开相同的 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41008333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com