使用自定义适配器重用ListActivity中的premade android.R.layout

时间:2014-01-17 02:30:56

标签: java android listactivity baseadapter

这里有一个很好的简单代码:

package com.example.simplelistactivity;

import java.util.ArrayList;
import java.util.Arrays;
import android.os.Bundle;
import android.app.ListActivity;
import android.widget.ArrayAdapter;

public class MainActivity extends ListActivity {

    String[] array = {"toto","titi","tata","roro","riri","fifi","ludo","loulou"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ArrayList<String> liste = new ArrayList<String>(Arrays.asList(array)); 

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,liste);

        this.setListAdapter(adapter);
    }

}

因为我们使用预制的Android布局,所以很有趣。我的目标是在我自己的适配器上使用这种技术。

现在我的问题是:

我定义 Myclass 包含几个字段。

我定义了 MyAdapter ,它获取Myclass'Title'字段以填充ListView。 标题字段只是一个字符串;所以我只想显示一个字符串列表......

当我使用MyAdapter以前的代码时出现此错误: “无法实例化活动组件信息... blablabla ... NullPointerException”

MyMainActivity被设置到清单中,所以我不明白出了什么问题。这里是失败的代码:

public class MainActivity extends ListActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        List<MyClass> mylist = MyClass.BuildTestList();

        this.setContentView(android.R.layout.simple_expandable_list_item_1);

        MyAdapter myadapter = new MyAdapter(this,mylist);
        this.getListView().setAdapter(myadapter);

    }
}

请问好吗?

BTW:我无法使用断点来查看它出错的地方,应用程序立即崩溃:(

0 个答案:

没有答案