【发布时间】:2015-07-15 08:49:26
【问题描述】:
我正在使用 Android Studio,它实现了片段类的所有功能。我收到以下运行时异常:
must implement OnFragmentInteractionListener
这是我的代码,我在主要活动中实现了OnFragmentInteractionListener。
主要活动:
public class MainActivity extends FragmentActivity implements BlankFragment.OnFragmentInteractionListener {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (findViewById(R.id.fragment_container) != null) {
BlankFragment fragment = new BlankFragment();
android.support.v4.app.FragmentManager manager = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction ft = manager.beginTransaction();
ft.add(R.id.fragment_container, fragment).commit();
}
@Override
public void onFragmentInteraction(Uri uri) {}
}
空白片段:
public class BlankFragment extends android.support.v4.app.Fragment {
private OnFragmentInteractionListener mListener;
public interface OnFragmentInteractionListener {
public void onFragmentInteraction(Uri uri);
}
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (OnFragmentInteractionListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnFragmentInteractionListener");
}
}
}
fragment class 和 main Activity 的其余方法也是默认实现的。我还在 main_activity.xmlfile and also assignedandroid:id` 中将 LinearLayout 和 FrameLayout 更改为引用良好的它。我的代码有什么问题?
【问题讨论】:
-
你用activity初始化了
mListener这个接口的对象吗?? -
你是在BlankFragment还是android.app.Fragment中使用android.support.v4.app.Fragment作为基类?
-
您的代码不清楚。请重新粘贴两个类(活动和片段)
-
不,我还没有在主活动中初始化 mlistener 对象。
-
我在 Blank Fragment 中使用 android.support.v4.aoo.Fragment 作为基类。
标签: java android android-layout android-fragments