android-por-listview
android-por-listview
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
package com.hmkcode.android;
|
||||
|
||||
public class Item {
|
||||
|
||||
private int icon;
|
||||
private String title;
|
||||
private String counter;
|
||||
|
||||
private boolean isGroupHeader = false;
|
||||
|
||||
public Item(String title) {
|
||||
this(-1,title,null);
|
||||
isGroupHeader = true;
|
||||
}
|
||||
public Item(int icon, String title, String counter) {
|
||||
super();
|
||||
this.icon = icon;
|
||||
this.title = title;
|
||||
this.counter = counter;
|
||||
}
|
||||
public int getIcon() {
|
||||
return icon;
|
||||
}
|
||||
public void setIcon(int icon) {
|
||||
this.icon = icon;
|
||||
}
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
public String getCounter() {
|
||||
return counter;
|
||||
}
|
||||
public void setCounter(String counter) {
|
||||
this.counter = counter;
|
||||
}
|
||||
public boolean isGroupHeader() {
|
||||
return isGroupHeader;
|
||||
}
|
||||
public void setGroupHeader(boolean isGroupHeader) {
|
||||
this.isGroupHeader = isGroupHeader;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.hmkcode.android;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ListActivity;
|
||||
import android.os.Bundle;
|
||||
import android.widget.ListView;
|
||||
|
||||
public class MainActivity extends ListActivity {
|
||||
|
||||
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
|
||||
// if extending Activity
|
||||
//setContentView(R.layout.activity_main);
|
||||
|
||||
// 1. pass context and data to the custom adapter
|
||||
MyAdapter adapter = new MyAdapter(this, generateData());
|
||||
|
||||
// if extending Activity 2. Get ListView from activity_main.xml
|
||||
//ListView listView = (ListView) findViewById(R.id.listview);
|
||||
|
||||
// 3. setListAdapter
|
||||
//listView.setAdapter(adapter); if extending Activity
|
||||
setListAdapter(adapter);
|
||||
}
|
||||
|
||||
|
||||
private ArrayList<Item> generateData(){
|
||||
ArrayList<Item> items = new ArrayList<Item>();
|
||||
items.add(new Item("Group Title"));
|
||||
items.add(new Item(R.drawable.action_help_32,"Menu Item 1","1"));
|
||||
items.add(new Item(R.drawable.action_search_32,"Menu Item 2","2"));
|
||||
items.add(new Item(R.drawable.collections_cloud_32,"Menu Item 3","12"));
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.hmkcode.android;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.hmkcode.android.R;
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
public class MyAdapter extends ArrayAdapter<Item> {
|
||||
|
||||
private final Context context;
|
||||
private final ArrayList<Item> itemsArrayList;
|
||||
|
||||
public MyAdapter(Context context, ArrayList<Item> itemsArrayList) {
|
||||
|
||||
super(context, R.layout.target_item, itemsArrayList);
|
||||
|
||||
this.context = context;
|
||||
this.itemsArrayList = itemsArrayList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
|
||||
// 1. Create inflater
|
||||
LayoutInflater inflater = (LayoutInflater) context
|
||||
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
|
||||
// 2. Get rowView from inflater
|
||||
|
||||
View rowView = null;
|
||||
if(!itemsArrayList.get(position).isGroupHeader()){
|
||||
rowView = inflater.inflate(R.layout.target_item, parent, false);
|
||||
|
||||
// 3. Get icon,title & counter views from the rowView
|
||||
ImageView imgView = (ImageView) rowView.findViewById(R.id.item_icon);
|
||||
TextView titleView = (TextView) rowView.findViewById(R.id.item_title);
|
||||
TextView counterView = (TextView) rowView.findViewById(R.id.item_counter);
|
||||
|
||||
// 4. Set the text for textView
|
||||
imgView.setImageResource(itemsArrayList.get(position).getIcon());
|
||||
titleView.setText(itemsArrayList.get(position).getTitle());
|
||||
counterView.setText(itemsArrayList.get(position).getCounter());
|
||||
}
|
||||
else{
|
||||
rowView = inflater.inflate(R.layout.group_header_item, parent, false);
|
||||
TextView titleView = (TextView) rowView.findViewById(R.id.header);
|
||||
titleView.setText(itemsArrayList.get(position).getTitle());
|
||||
|
||||
}
|
||||
|
||||
// 5. retrn rowView
|
||||
return rowView;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user