Android ListView復(fù)雜使用方式簡單理解
Android手機(jī)操作系統(tǒng)中,有許多應(yīng)用比較復(fù)雜,對于初學(xué)者來說還需要在實(shí)踐中去加深對此的理解。在Android ListView的使用較為復(fù)雜一點(diǎn),也就是配置其Adapter,Adapter有幾種,有ArrayAdapter,SimpleAdapter等,首先要生成一個(gè)ListView(當(dāng)然可以使用ListActivity,此Activity整合了ListView)然后用Adapter來設(shè)定ListView的顯示數(shù)據(jù)及布局方式,然后再來響應(yīng)OnItemClick 事件,或者在ListActivity改寫onListItemClick 響應(yīng)事件函數(shù)??慈缦麓a演示了使用ListActivity:
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Map;
- import android.app.ListActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ListView;
- import android.widget.SimpleAdapter;
- public class Test extends ListActivity {
- @Override
- protected void onListItemClick(ListView l, View v, int position, long id) {
- // TODO Auto-generated method stub
- super.onListItemClick(l, v, position, id);
- this.setTitle(this.mModelData.get(position).get("type").toString());
- }
- SimpleAdapter adapter = null;
- private ArrayList<Map<String, Object>> mModelData = null;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- initModelData();
- adapter = new SimpleAdapter
(this, mModelData, android.R.layout.two_line_list_item,
new String[]{"name"}, new int[]{android.R.id.text1});- this.setListAdapter(adapter);
- //setContentView(R.layout.main);
- }
- public void initModelData()
- {
- mModelData = new ArrayList<Map<String, Object>>();
- Map<String, Object> item = new HashMap<String,Object>();
- item.put("name", "Linux");item.put("type", "OS");
- mModelData.add(item);
- Map<String, Object> item2 = new HashMap<String,Object>();
- item2.put("name", "Android");item2.put("type", "Platform");
- mModelData.add(item2);
- Map<String, Object> item3 = new HashMap<String,Object>();
- item3.put("name", "Tomato");item3.put("type", "Fruit");
- mModelData.add(item3);
- }
- }
下面代碼顯示了,使用Android ListView + Activity:
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.ListView;
- import android.widget.AdapterView.OnItemClickListener;
- public class TestStringList extends Activity implements
OnItemClickListener {- @Override
- public void onItemClick(AdapterView
- > arg0,
- View arg1, int arg2, long arg3) {
- this.setTitle("You Click Item:" + String.valueOf(arg2));
- }
- private ListView mListView = null;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- mListView = new ListView(this);
- mListView.setOnItemClickListener(this);
- ArrayAdapter<String> adapter = new ArrayAdapter<String>
- (this,android.R.layout.simple_list_item_checked,
- new String[]{"ItemA", "ItemB", "ItemC"});
- mListView.setAdapter(adapter);
- this.setContentView(mListView);
- }
- }
Android ListView的相關(guān)應(yīng)用就為大家介紹到這里。
【編輯推薦】