我是 Android 开发的新手,我有一个简单的列表应用程序,我被要求创建它。我没有问题将应用程序作为基于活动的应用程序,但是我必须扩展功能并使用片段来实现“通用”应用程序。我的主要活动是:
3 回答
通过执行以下步骤,我能够成功编译您的代码:
看起来这一行是问题所在(在 Main.java 中):
contactCursor = contactDBAdapter.getAllContactsCursor();
我查看了您contactDBAdapter
的初始化方式,结果发现您在进行setContentView
活动后对其进行了初始化。但是,您的视图涉及对contactDBAdapter
. 所以在 Main.java 中你需要将以下两行移动到 onCreate 窗口的顶部:
public void onCreate(Bundle savedInstanceState)
{
contactDBAdapter = new ContactDBAdapter(this);
contactDBAdapter.open();
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
....
}
此外,Main.java 中的以下行需要删除(或注释掉):
contact.clear();
此外,我必须对您调用 ListView 的方式进行两项进一步的更改
在 list_view.xml 中,您识别 Android 的 ListView 的方式是:
android:id="@+id/android:list"
在 ContactListFragment.java 中,然后以这种方式调用 ListView:
parent.myListView = (ListView)v.findViewById(android.R.id.list);
您的 Fragment 类需要一个空的默认构造函数。请参阅Android 参考
您是否尝试过使用 Eclipse 模板,它为您设置了所有内容,只需复制现有代码?
File>New>Android Application Project 然后在 Create Activity Step 下选择