我正在学习《Android应用开发实战指南》第四章,该章节修改了“待办事项清单”应用程序以使用片段,但我想在一台Gingerbread设备上进行测试。书中提到使用支持库可以允许在低版本设备上使用Android v3或v4的功能,但没有很好地介绍。
我遇到了一个具体的问题:
我在顶部导入了以下内容: import android.support.v4.app.FragmentManager; import android.support.v4.app.ListFragment;
但是lint在"ToDoListFragment todoListFragment = (ToDoListFragment)"这一行上发出警告: 无法将Fragment转换为ToDoListFragment
在我的ToDoListFragment类中,我有:
这段话几乎是从书中摘抄而来,只是更改了使用支持库的方式。
我不确定如何使用v4支持库使此代码正确运行。如果这不足够信息,请提前谅解。我正在学习这个,比Java更熟悉C/C++。如果不使用支持库,该代码可以编译并在Ice Cream Sandwich设备上运行,但我希望它也能在低版本的设备上运行。
我遇到了一个具体的问题:
// Get references to the Fragments
android.app.FragmentManager fm = getFragmentManager();
ToDoListFragment todoListFragment = (ToDoListFragment) fm.findFragmentById( R.id.ToDoListFragment );
我在顶部导入了以下内容: import android.support.v4.app.FragmentManager; import android.support.v4.app.ListFragment;
但是lint在"ToDoListFragment todoListFragment = (ToDoListFragment)"这一行上发出警告: 无法将Fragment转换为ToDoListFragment
在我的ToDoListFragment类中,我有:
import android.support.v4.app.ListFragment;
public class ToDoListFragment extends ListFragment {
}
这段话几乎是从书中摘抄而来,只是更改了使用支持库的方式。
我不确定如何使用v4支持库使此代码正确运行。如果这不足够信息,请提前谅解。我正在学习这个,比Java更熟悉C/C++。如果不使用支持库,该代码可以编译并在Ice Cream Sandwich设备上运行,但我希望它也能在低版本的设备上运行。
android.support.v4.app.FragmentManager fm = getSupportFragmentManager()
,但Eclipse给了我一个错误:“The method getSupportFragmentManager() is undefined for the type ToDoListActivity”。我认为我已经正确设置了所有导入,所以不确定我做错了什么。我想如果我不能快速解决这个问题,我将不得不先在ICS设备上进行测试,直到我对Android编程有更多的经验。 - WarnerYoung