Created
January 22, 2012 06:35
-
-
Save aztack/1655935 to your computer and use it in GitHub Desktop.
Using ListView adapter
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class MyListView extends Activity { | |
private ListView listView; | |
//private List<String> data = new ArrayList<String>(); | |
@Override | |
public void onCreate(Bundle savedInstanceState){ | |
super.onCreate(savedInstanceState); | |
listView = new ListView(this); | |
listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,getData())); | |
setContentView(listView); | |
} | |
private List<String> getData(){ | |
List<String> data = new ArrayList<String>(); | |
data.add("1"); | |
data.add("2"); | |
data.add("3"); | |
data.add("4"); | |
return data; | |
} | |
} | |
public class MyListView2 extends Activity { | |
private ListView listView; | |
//private List<String> data = new ArrayList<String>(); | |
@Override | |
public void onCreate(Bundle savedInstanceState){ | |
super.onCreate(savedInstanceState); | |
listView = new ListView(this); | |
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); | |
startManagingCursor(cursor); | |
ListAdapter listAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_expandable_list_item_1, | |
cursor, | |
new String[]{ContactsContract.Contacts.DISPLAY_NAME}, | |
new int[]{android.R.id.text1}); | |
listView.setAdapter(listAdapter); | |
setContentView(listView); | |
} | |
} | |
public class MyListView3 extends ListActivity { | |
// private List<String> data = new ArrayList<String>(); | |
@Override | |
public void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.vlist, | |
new String[]{"title","info","img"}, | |
new int[]{R.id.title,R.id.info,R.id.img}); | |
setListAdapter(adapter); | |
} | |
private List<Map<String, Object>> getData() { | |
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); | |
Map<String, Object> map = new HashMap<String, Object>(); | |
map.put("title", "G1"); | |
map.put("info", "google 1"); | |
map.put("img", R.drawable.i1); | |
list.add(map); | |
map = new HashMap<String, Object>(); | |
map.put("title", "G2"); | |
map.put("info", "google 2"); | |
map.put("img", R.drawable.i2); | |
list.add(map); | |
map = new HashMap<String, Object>(); | |
map.put("title", "G3"); | |
map.put("info", "google 3"); | |
map.put("img", R.drawable.i3); | |
list.add(map); | |
return list; | |
} | |
} | |
public class MyListView4 extends ListActivity { | |
private List<Map<String, Object>> mData; | |
@Override | |
public void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
mData = getData(); | |
MyAdapter adapter = new MyAdapter(this); | |
setListAdapter(adapter); | |
} | |
private List<Map<String, Object>> getData() { | |
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); | |
Map<String, Object> map = new HashMap<String, Object>(); | |
map.put("title", "G1"); | |
map.put("info", "google 1"); | |
map.put("img", R.drawable.i1); | |
list.add(map); | |
map = new HashMap<String, Object>(); | |
map.put("title", "G2"); | |
map.put("info", "google 2"); | |
map.put("img", R.drawable.i2); | |
list.add(map); | |
map = new HashMap<String, Object>(); | |
map.put("title", "G3"); | |
map.put("info", "google 3"); | |
map.put("img", R.drawable.i3); | |
list.add(map); | |
return list; | |
} | |
// ListView 涓煇椤硅閫変腑鍚庣殑閫昏緫 | |
@Override | |
protected void onListItemClick(ListView l, View v, int position, long id) { | |
Log.v("MyListView4-click", (String)mData.get(position).get("title")); | |
} | |
/** | |
* listview涓偣鍑绘寜閿脊鍑哄璇濇 | |
*/ | |
public void showInfo(){ | |
new AlertDialog.Builder(this) | |
.setTitle("鎴戠殑listview") | |
.setMessage("浠嬬粛...") | |
.setPositiveButton("纭畾", new DialogInterface.OnClickListener() { | |
public void onClick(DialogInterface dialog, int which) { | |
} | |
}) | |
.show(); | |
} | |
public final class ViewHolder{ | |
public ImageView img; | |
public TextView title; | |
public TextView info; | |
public Button viewBtn; | |
} | |
public class MyAdapter extends BaseAdapter{ | |
private LayoutInflater mInflater; | |
public MyAdapter(Context context){ | |
this.mInflater = LayoutInflater.from(context); | |
} | |
public int getCount() { | |
// TODO Auto-generated method stub | |
return mData.size(); | |
} | |
public Object getItem(int arg0) { | |
// TODO Auto-generated method stub | |
return null; | |
} | |
public long getItemId(int arg0) { | |
// TODO Auto-generated method stub | |
return 0; | |
} | |
public View getView(int position, View convertView, ViewGroup parent) { | |
ViewHolder holder = null; | |
if (convertView == null) { | |
holder=new ViewHolder(); | |
convertView = mInflater.inflate(R.layout.vlist2, null); | |
holder.img = (ImageView)convertView.findViewById(R.id.img); | |
holder.title = (TextView)convertView.findViewById(R.id.title); | |
holder.info = (TextView)convertView.findViewById(R.id.info); | |
holder.viewBtn = (Button)convertView.findViewById(R.id.view_btn); | |
convertView.setTag(holder); | |
}else { | |
holder = (ViewHolder)convertView.getTag(); | |
} | |
holder.img.setBackgroundResource((Integer)mData.get(position).get("img")); | |
holder.title.setText((String)mData.get(position).get("title")); | |
holder.info.setText((String)mData.get(position).get("info")); | |
holder.viewBtn.setOnClickListener(new View.OnClickListener() { | |
public void onClick(View v) { | |
showInfo(); | |
} | |
}); | |
return convertView; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment