在synctask类android中显示listview
我是初学者。我想在asyncTask中显示一个listview,所以我有这段代码,但我不知道下面这行怎么会出错:在synctask类android中显示listview,android,Android,我是初学者。我想在asyncTask中显示一个listview,所以我有这段代码,但我不知道下面这行怎么会出错: ListAdapter adapter =new SimpleAdapter(this, result,android.R.layout.simple_list_item_1, new String[] {"planet"}, new int[] {android.R.id.text1}); 你能让我修一下吗 我的代码: public class MainActivity ext
ListAdapter adapter =new SimpleAdapter(this, result,android.R.layout.simple_list_item_1, new String[] {"planet"}, new int[] {android.R.id.text1});
你能让我修一下吗
我的代码:
public class MainActivity extends Activity {
List<Map<String, String>> planetsList;
ListAdapter simpleAdpt;
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView) this.findViewById(R.id.listView1);
planetsList = new ArrayList<Map<String,String>>();
initList();
simpleAdpt = new SimpleAdapter(this, planetsList, android.R.layout.simple_list_item_1, new String[] {"planet"}, new int[] {android.R.id.text1});
lv.setAdapter(simpleAdpt);
}
private void initList() {
// We populate the planets into planetslist
planetsList.add(createPlanet("planet", "Mercury"));
planetsList.add(createPlanet("planet", "Venus"));
planetsList.add(createPlanet("planet", "Mars"));
planetsList.add(createPlanet("planet", "Jupiter"));
planetsList.add(createPlanet("planet", "Saturn"));
planetsList.add(createPlanet("planet", "Uranus"));
planetsList.add(createPlanet("planet", "Neptune"));
}
private HashMap<String, String> createPlanet(String key, String name) {
HashMap<String, String> planet = new HashMap<String, String>();
planet.put(key, name);
return planet;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
公共类MainActivity扩展活动{
列表飞机列表;
ListAdapterSimpleAdpt;
ListView lv;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView)this.findViewById(R.id.listView1);
planetsList=newarraylist();
initList();
simpleAdpt=new SimpleAdapter(这个,planetsList,android.R.layout.simple_list_item_1,新字符串[]{“planet”},新int[]{android.R.id.text1});
低压设置适配器(simpleAdpt);
}
私有void initList(){
//我们将行星填入行星列表
添加(创建行星(“行星”、“水星”);
添加(创建行星(“行星”、“金星”);
添加(创建行星(“行星”、“火星”);
添加(创建行星(“行星”、“木星”);
添加(创建行星(“行星”、“土星”);
添加(创建行星(“行星”、“天王星”);
添加(创建行星(“行星”、“海王星”);
}
私有HashMap createPlanet(字符串键、字符串名称){
HashMap planet=新的HashMap();
planet.put(键、名称);
返回行星;
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
}
我猜您正在使用异步任务中的“this”引用您的活动。请尝试以下方法:
ListAdapter adapter =new SimpleAdapter(MainActivity.this, result,android.R.layout.simple_list_item_1, new String[] {"planet"}, new int[] {android.R.id.text1});
post logcat有错误吗?将simpleAdpt的类型更改为SimpleAdapter而不是ListAdapter。post异步任务代码