将基于Android活动的应用程序转换为基于片段的错误

时间:2013-03-19 20:59:28

标签: java android android-intent

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

3 个答案:

答案 0 :(得分:2)

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

看起来这行是问题(在Main.java中):

contactCursor = contactDBAdapter.getAllContactsCursor();

我查看了您的contactDBAdapter如何初始化,结果证明您在setContentView之后为您的活动进行了初始化。但是,您的观看涉及对contactDBAdapter的调用。因此,在Main.java中,您需要将以下两行移动到onCreate窗口的TOP:

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的方式是:

    机器人:ID =" @ + ID /机器人:列表"

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

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

答案 1 :(得分:0)

你有没有尝试过使用Eclipse模板为你设置所有内容,只需复制现有代码?

文件>新建> Android应用项目然后在创建活动步骤下选择see here:

答案 2 :(得分:0)

您的Fragment类需要一个空的默认构造函数。见Android Reference