Custom GridView in Android
Senin, 07 Januari 2013
0
komentar
in cus_gridview file :
< ?xml version="1.0" encoding="utf-8"?>
< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
< GridView
android:id="@+id/gridView1"
android:numColumns="auto_fit"
android:gravity="center"
android:columnWidth="50dp"
android:stretchMode="columnWidth"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
< /GridView>
< /LinearLayout>
in java file:
< ?xml version="1.0" encoding="utf-8"?>
< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp" >
< ImageView
android:id="@+id/grid_item_image"
android:layout_width="50px"
android:layout_height="50px"
android:layout_marginRight="10px"
android:src="@drawable/ic_launcher">
< /ImageView>
< TextView
android:id="@+id/grid_item_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+id/label"
android:layout_marginTop="5dp"
android:textColor="#FFFFFF"
android:textSize="16dp" >
< /TextView>
< /LinearLayout>
in Custom Adapter Class:
public class SendCard extends Activity {
GridView gridView;
static final String[] Card = new String[] { "Card1","Card2","Card3", "Card4" };
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.send_card);
gridView = (GridView) findViewById(R.id.gridView1);
gridView.setAdapter(new ImageAdapter(this, Card));
gridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v,int position, long id) {
Toast.makeText(getApplicationContext(),((TextView)v.findViewById(R.id.grid_item_label))
.getText(), Toast.LENGTH_SHORT).show();
}
});
}}
public class ImageAdapter extends BaseAdapter {
private Context context;
private final String[] mobileValues;
public ImageAdapter(Context context, String[] mobileValues) {
this.context = context;
this.mobileValues = mobileValues;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridView;
if (convertView == null) {
gridView = new View(context);
gridView = inflater.inflate(R.layout.cus_gridview, null);
TextView textView = (TextView)gridView.findViewById(R.id.grid_item_label);
textView.setText(mobileValues[position]);
ImageView imageView = (ImageView)
gridView.findViewById(R.id.grid_item_image);
String mobile = mobileValues[position];
if (mobile.equals("Card1")) {
imageView.setImageResource(R.drawable.icon);
} else if (mobile.equals("Card2")) {
imageView.setImageResource(R.drawable.icon);
} else if (mobile.equals("Card3")) {
imageView.setImageResource(R.drawable.icon);
} else {
imageView.setImageResource(R.drawable.icon);
}
} else {
gridView = (View) convertView;
}
return gridView;
}
public int getCount() {
return mobileValues.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}}
0 komentar:
Posting Komentar