Professional Documents
Culture Documents
Custom Adapter
Custom Adapter
Custom Adapter
customlistviewadapterexam;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
/**
* Created by NgocTri on 11/15/2015.
*/
public class MainActivity extends Activity {
private ListView lvProduct;
private ProductListAdapter adapter;
private List<Product> mProductList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lvProduct = (ListView)findViewById(R.id.listview_product);
//Init adapter
adapter = new ProductListAdapter(getApplicationContext(), mProductList);
lvProduct.setAdapter(adapter);
lvProduct.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//Do something
//Ex: display msg with product id get from view.getTag
Toast.makeText(getApplicationContext(), "Clicked product id =" + view.getTag(),
Toast.LENGTH_SHORT).show();
}
});
}
}
package com.gnirt69.customlistviewadapterexam;
/**
* Created by NgocTri on 11/15/2015.
*/
public class Product {
private int id;
private String name;
private int price;
private String description;
//Constructor
//Setter, getter
package com.gnirt69.customlistviewadapterexam;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.List;
/**
* Created by NgocTri on 11/15/2015.
*/
public class ProductListAdapter extends BaseAdapter {
//Constructor
@Override
public int getCount() {
return mProductList.size();
}
@Override
public Object getItem(int position) {
return mProductList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = View.inflate(mContext, R.layout.item_product_list, null);
TextView tvName = (TextView)v.findViewById(R.id.tv_name);
TextView tvPrice = (TextView)v.findViewById(R.id.tv_price);
TextView tvDescription = (TextView)v.findViewById(R.id.tv_description);
//Set text for TextView
tvName.setText(mProductList.get(position).getName());
tvPrice.setText(String.valueOf(mProductList.get(position).getPrice()) + " $");
tvDescription.setText(mProductList.get(position).getDescription());
return v;
}
}