fragment-Cannot cast from Fragment to ToDoListFragment的错误

问题描述

Cannot cast from Fragment to ToDoListFragment的错误

Fragment的代码:
public class NewItemFragment extends Fragment
{
private OnNewItemAddedListener onNewItemAddedListener;

public interface OnNewItemAddedListener
{
    public void onNewItemAdded(String newItem);
}
public void onAttach(Activity activity)
{
    super.onAttach(activity);
    try
    {
        onNewItemAddedListener=(OnNewItemAddedListener)activity;
    }
    catch(ClassCastException e)
    {
        throw new ClassCastException(activity.toString()+"must implement OnNewItemAddedListener");
    }
}
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState)
{
    View view = inflater.inflate(R.layout.new_item_fragment, container,false);

    final EditText myEditText = (EditText)view.findViewById(R.id.myEditText);

    myEditText.setOnKeyListener(new View.OnKeyListener(){
        public boolean onKey(View v,int keyCode,KeyEvent event){
            if(event.getAction()==KeyEvent.ACTION_DOWN)
                if((keyCode == KeyEvent.KEYCODE_DPAD_CENTER)||
                    (keyCode == KeyEvent.KEYCODE_ENTER)){
                    String newItem = myEditText.getText().toString();
                    onNewItemAddedListener.onNewItemAdded(newItem);
                    myEditText.setText("");
                    return true;
                }
            return false;
        }
    });
    return view;
}

}

main.xml的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <fragment android:name="com.example.dolist.NewItemFragment"
                android:id="@+id/NewItemFragment"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
        />

        <fragment android:name="com.example.dolist.ToDoListFragment"
                android:id="@+id/TodoListFragment"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
        />
    </LinearLayout>

ToDolistActivity的代码:
public class ToDoListActivity extends FragmentActivity {

private ArrayAdapter<String> aa;
private ArrayList<String> todoItems;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    FragmentManager fm = getFragmentManager();
    ToDoListFragment todoListFragment = (ToDoListFragment)fm.findFragmentById(R.id.TodoListFragment);

    todoItems = new ArrayList<String>();
    aa = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,todoItems);
    todoListFragment.setListAdapter(aa);
}

}
就在ToDListActivity中ToDoListFragment todoListFragment = (ToDoListFragment)fm.findFragmentById(R.id.TodoListFragment);
会报出Cannot cast from Fragment to ToDoListFragment的错误
新手,只是照书上打的,实在没看明白哪里错了?这个地方不可转换吗???

解决方案

main.xml贴出来的不全,关键在main.xml上

时间: 2024-08-22 15:01:42

fragment-Cannot cast from Fragment to ToDoListFragment的错误的相关文章

Android 如何通过一个fragment结束另一个fragment的死循环线程

问题描述 Android 如何通过一个fragment结束另一个fragment的死循环线程 有一个activity,包含两个fragment,两个fragment各自包含一个死循环线程,我想通过一个fragment结束这个activity(通过finish),顺便把这个fragment里的死循环线程结束了(通过flag=false和thread.interrupt()).再次启动这个activity,被结束的死循环线程能正常启动,但是没有结束的死循环线程不能正常工作了,我catch到错误,但不

android fragment-Android中fragment怎么嵌套子fragment

问题描述 Android中fragment怎么嵌套子fragment 求一例子,嵌套fragment用的,界面中有两个fragment,属于父子关系.网上说是可以实现的,但是就是找不到例子. 解决方案 fragment内部嵌套fragment用getChildFragmentManager 参考 http://www.cnblogs.com/over140/archive/2013/02/18/2842227.html 解决方案二: Android Fragment 嵌套使用报错Android

Android中在ViewPager+Fragment中有两个Fragment

问题描述 Android中在ViewPager+Fragment中有两个Fragment 一个有ListView,一个有dialogdialog中有个edittext,然后edittext获取到焦点是,第一个Fragment中的getVIew会运行,为什么 解决方案 android中 Fragment中的viewpagerAndroid:fragment中嵌套viewpager,vierpager中有多个fragment 解决方案二: http://www.cnblogs.com/android

viewpager+fragment,其中一个fragment是googlemap

问题描述 viewpager+fragment,其中一个fragment是googlemap Exception when sending the token request. android.os.DeadObjectException at android.os.BinderProxy.transact(Native Method) at maps.bw.a$a$a.a(Unknown Source) at maps.cz.b$1.a(Unknown Source) at maps.cz.b

使用viewpager,fragment底栏导航,新的fragment替换旧的fragment

问题描述 使用viewpager,fragment底栏导航,新的fragment替换旧的fragment 主activity public class MyActivity extends FragmentActivity { private ViewPager mViewPager; private IconTabPageIndicator mIndicator; List<BaseFragment> fragments; Button LoginButton; LayoutInflater

android-自定义viewGroup中放入fragment view,但是fragment中的内容不显示

问题描述 自定义viewGroup中放入fragment view,但是fragment中的内容不显示 自定义viewGroup中放入fragment view,但是fragment中的内容显示不到界面上,明明fragment中的oncreateview都走了,而且返回的view不为空?求解!!! <?xml version="1.0" encoding="utf-8"?> android:id="@+id/test_viewgroup&quo

急急急!-如何在这个fragment中使用fragmenttabhost+fragment啊?

问题描述 如何在这个fragment中使用fragmenttabhost+fragment啊? activity上已经嵌套一层fragment,如何在这个fragment中使用fragmenttabhost+fragment啊? 解决方案 drawerNavigation被fragment overlay, FragmentTabHost使用FragmentTabHost+fragment中获得fragment的对象Android之Fragment的使用(一) 解决方案二: 可以再嵌套一层的Ad

父Fragment 嵌套多个 Fragment与viewpager中, 子fragment中内容无法显示

问题描述 父Fragment 嵌套多个 Fragment与viewpager中, 子fragment中内容无法显示 如题, FragmentA 里面有个ViewPager ViewPager里是FragB fragc.... Adapter 也使用了getChildFragmentManager() 但是FragmentB/C...的内容不显示 有哪位朋友碰到过这样的问题吗?望指教. 解决方案 可以查查前面的语句吧.

Android中ViewPage+Fragment顶部及FragmentTabHost+Fragment底部 滑动切换

Android开发中ViewPage+Fragment实现区域顶部tab滑动切换 本教程我们将说说tab导航,导航分为一层和两层(底部区块+区域内头部导航),主要实现方案有RadioGroup+ViewPage+Fragment.Viewpager Indicator.ActionBar Tabs.FragmentTabHost+Fragment等,下面我们先采用RadioGroup+ViewPage+Fragment实现区域头部导航. 如图所示: 案例主要组件 1.先看一下MainActivi