1

我是 Android 开发的新手,我有一个简单的列表应用程序,我被要求创建它。我没有问题将应用程序作为基于活动的应用程序,但是我必须扩展功能并使用片段来实现“通用”应用程序。我的主要活动是:

4

3 回答 3

2

通过执行以下步骤,我能够成功编译您的代码:

看起来这一行是问题所在(在 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 的方式进行两项进一步的更改

  1. 在 list_view.xml 中,您识别 Android 的 ListView 的方式是:

    android:id="@+id/android:list"

  2. 在 ContactListFragment.java 中,然后以这种方式调用 ListView:

    parent.myListView = (ListView)v.findViewById(android.R.id.list);

于 2013-03-19T21:18:47.093 回答
0

您的 Fragment 类需要一个空的默认构造函数。请参阅Android 参考

于 2013-03-20T02:30:46.360 回答
0

您是否尝试过使用 Eclipse 模板,它为您设置了所有内容,只需复制现有代码?

File>New>Android Application Project 然后在 Create Activity Step 下选择看这里:

于 2013-03-19T21:19:51.470 回答