有很多方法,但我正在使用这个:
Activity :
public class Main2Activity extends AppCompatActivity{
private String myString = "hello";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
...
}
public String getMyData() {
return myString;
}
}
fragment :
public class MyFragment extends android.support.v4.app.Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Main2Activity activity = (Main2Activity ) getActivity();
String myDataFromActivity = activity.getMyData();
return view;
}
}
但它给了我类转换异常:
java.lang.ClassCastException: com.example.dev03.xyz.Activities.MainActivity cannot be cast to com.example.dev03.xyz.Fragments.MyActivity
java.lang.ClassCastException: com.example.dev03.xyz.Fragments.MainActivity 无法转换为 com.example.dev03.xyz.Fragments.Main2Activity
-- 包是一样的
谢谢
最佳答案
创建 MainActivity2 的对象并简单地访问您的方法:
MainActivity2 mn2=new ManiActivity2();
mn2.getMyData();
关于java - 将数据从 Activity 传递到 Fragment(通过从 Fragment 访问 Activity)给出 Class Cast Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37070633/