[Android]_ch5.10_ListView清單元件
package com.derek.ch17_listview;
import android.R.integer;
import android.R.layout;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
ListView LV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LV=(ListView)findViewById(R.id.listView1);
LV.setAdapter(new MyAdapter(MainActivity.this));
LV.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
TextView tv=((TextView)((LinearLayout)view).getChildAt(1));
Toast.makeText(MainActivity.this, tv.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
}
class MyAdapter extends BaseAdapter{
int images[]={R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4,R.drawable.a5,
R.drawable.a6,R.drawable.a7,R.drawable.a8,R.drawable.a9,R.drawable.a10,
R.drawable.a11,R.drawable.a12,R.drawable.a13,R.drawable.a14,R.drawable.a15};
LayoutInflater layoutInflater;
public MyAdapter(Context context) {
layoutInflater=(LayoutInflater)context.getSystemService(LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return images.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if(convertView==null){
convertView=layoutInflater.inflate(R.layout.listitems, null);
viewHolder=new ViewHolder();
viewHolder.iv=(ImageView)convertView.findViewById(R.id.imageView1);
viewHolder.tv=(TextView)convertView.findViewById(R.id.textView1);
convertView.setTag(viewHolder);
}else{
viewHolder=(ViewHolder)convertView.getTag();
}
viewHolder.iv.setImageResource(images[position]);
viewHolder.tv.setText("No."+(position+1));
return convertView;
}
class ViewHolder{
ImageView iv;
TextView tv;
}
}
}
沒有留言:
張貼留言