gpt4 book ai didi

java - 使用 fragment 按钮打开另一个 Activity

转载 作者:太空狗 更新时间:2023-10-29 13:26:33 26 4
gpt4 key购买 nike

好的,所以我尝试了两种类型的代码来让它工作,当我按下按钮进入另一个 Activity 时,它一直给我强制关闭。我正在使用 Fragment 并且该 Fragments 代码中有一个按钮,但我似乎无法让它工作。我不是经验丰富的 Android 开发人员,但我正在尽力学习。

Java代码如下:

第一种方法

public class About extends Fragment {

Intent intent;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.about, container, false);

intent = new Intent(getActivity(), Contact_Developer.class);
final Button button = (Button) rootView.findViewById(R.id.btnContactDev);

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

return rootView;
}
}

第二种方法

public class About extends Fragment {

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

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.about, container, false);

Button button = (Button) rootView.findViewById(R.id.btnContactDev);
button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {
Intent intent = new Intent(getActivity(), Contact_Developer.class);
getActivity().startActivity(intent);
}
});
return rootView;
}
}

我真的不知道发生了什么,也不知道为什么我会被强制关闭,但如果有人能帮助我并解释一下我做错了什么,那就足够了

最佳答案

不要为 fragment 中的 fragment 按钮处理 onClick。让它去它的父 Activity 。并从父 Activity 开始 Activity 。

要确保按钮 onClick 事件被发送到父 Activity ,请确保在您的 about.xml 中,对于具有 id btnContactDev 的按钮,你有以下参数:

<Button android:id="@+id/btnContactDev"
android:onClick="buttonClick"
...
/>

并且在您的父 Activity (About fragment 的父 Activity )中,您有:

public void buttonClick(View v) {
switch(v.getId()) {
case R.id.btnContactDev:
Intent myIntent = new Intent();
myIntent.setClassName(your_package_name_string, your_activity_name_string);
// for ex: your package name can be "com.example"
// your activity name will be "com.example.Contact_Developer"
startActivity(myIntent);
break;
}
}

HTH.

PS:此解决方案非常适合您的要求。一般来说,最好在 fragment 类内部处理 fragment 相关的onClick事件。

PS:是的,正如其他解决方案所说,确保您已在 Manifest 文件中注册了 Contact_Developer Activity 。

关于java - 使用 fragment 按钮打开另一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20735723/

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