gpt4 book ai didi

java - 从 Fragment 启动 Activity 抛出 ClassNotFoundException

转载 作者:行者123 更新时间:2023-12-01 22:26:23 25 4
gpt4 key购买 nike

我知道这希望渺茫,但我尝试了很多解决方案,但没有一个有效。我正在尝试在点击按钮时从 fragment 启动 Activity 。

Fragment.java

public class Lev1 extends Fragment implements OnClickListener {

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

View v = inflater.inflate(R.layout.lev1, null);
Button button1= (Button) v.findViewById(R.id.level1);

button1.setOnClickListener(this);

return v;

}

@Override
public void onClick(View v) {

try {
Intent intent = new Intent(getActivity(), getActivity().getClassLoader().loadClass("es.uam.eps.dadm.SESSION"));
startActivity(intent);
}
catch(ClassNotFoundException e) {
//to handle carefully
Toast.makeText(context, "Class not found",
Toast.LENGTH_SHORT).show();
}
}

Fragment.xml

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<Button
android:id="@+id/level1"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_margin="8dp"
android:background="@drawable/fr1"
/>
</LinearLayout>

我认为这不是包问题,因为如果我使用 Activity 而不是 fragment ,则以下效果很好:

Button button1= (Button)findViewById(R.id.level1);

button1.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
startActivity(new Intent("es.uam.eps.dadm.SESSION"));
}

所以我不知道为什么当我尝试加载 SESSION 类时会出现 ClassNotFoundException 异常。也许 intent 的声明是错误的?预先感谢您的帮助。

最佳答案

I don't know why the other way rises an ClassNotFoundException

es.uam.eps.dadm.SESSION 是您在 AndroidManifest.xml 中的 Activity 声明期间添加的操作名称。

从按钮上的 Activity 中单击,使用操作准备启动 Activity 的 Intent 。但从 fragment 尝试使用操作字符串而不是带有包名称的类名来加载类:

使用类名使用loadClass加载类:

Intent intent = new Intent(getActivity(), getActivity().getClassLoader().
loadClass("es.uam.eps.dadm.<Class_Name>"));

关于java - 从 Fragment 启动 Activity 抛出 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28695465/

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