baseAdapter

MainActivity.java主要代码:

public class MainActivity extends ActionBarActivity {
public ListView lv;
public int[] imageIDS={R.drawable.a,R.drawable.b,R.drawable.c,
R.drawable.d,R.drawable.e,R.drawable.f,R.drawable.g,
R.drawable.h,R.drawable.j};
public String[] name={"a","b","c","d","e","f","g","h","j"};
public int num[]=new int[10];

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
for(int i=0;i<10;i++)
num[i]=i+1;
// Log.i("imageids",String.valueOf(imageIDS.length));
lv=(ListView) findViewById(R.id.list);


//myBaseAdapter adapter =new myBaseAdapter(MainActivity.this);
Myadapter adapter=new Myadapter(MainActivity.this, imageIDS, name, num);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("你最喜欢这个人物吗?")
.setIcon(imageIDS[arg2])
.setMessage("就是它!!")
.setPositiveButton("确定", null)
.setNegativeButton("重选", null)
.show();
}
});
}

//该类为基本用法,未经优化,上述代码未使用该类
class myBaseAdapter extends BaseAdapter{
private Context context;

public myBaseAdapter(Context context) {
this.context=context;
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return imageIDS.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) {
// TODO Auto-generated method stub
LayoutInflater flater= LayoutInflater.from(context);
View view=flater.inflate(R.layout.base, null);
ImageView ivg=(ImageView) view.findViewById(R.id.iv);
ivg.setImageResource(imageIDS[position]);
TextView tv1=(TextView) view.findViewById(R.id.t1);
tv1.setText(String.valueOf(num[position]));
TextView tv2=(TextView) view.findViewById(R.id.t2);
tv2.setText(name[position]+" hi");
return view;
}

}
}


activity_main.xml主要代码:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="动漫人物,你最喜欢哪个?" />
<ListView
android:id="@+id/list"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>

base.xml主要代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/iv"
android:layout_width="80dp"
android:layout_height="80dp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/t1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/t2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>

Myadapter.java主要代码:
public class Myadapter extends BaseAdapter {

private Context context;
private String[] names;
int[] imagesIDS,num;
public Myadapter(Context context,int[] imagesIDS,String[]names,int[] num) {
this.context=context;
this.imagesIDS=imagesIDS;
this.names=names;
this.num=num;
}

static class ViewHold{
public ImageView iv;
public TextView t1;
public TextView t2;
};

@Override
public int getCount() {
// TODO Auto-generated method stub
return imagesIDS.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) {
// TODO Auto-generated method stub
LayoutInflater flater= LayoutInflater.from(context);
ViewHold viewhold = null;
if(convertView==null){
convertView=flater.inflate(R.layout.base, null);
viewhold=new ViewHold();
viewhold.iv=(ImageView) convertView.findViewById(R.id.iv);
viewhold.t1=(TextView) convertView.findViewById(R.id.t1);
viewhold.t2=(TextView) convertView.findViewById(R.id.t2);
convertView.setTag(viewhold);
}
else{
viewhold=(ViewHold) convertView.getTag();
}
viewhold.iv.setImageResource(imagesIDS[position]);
viewhold.t1.setText(names[position]);
viewhold.t2.setText(String.valueOf(num[position]));
return convertView;
}

}

 

posted @ 2016-03-26 12:09  yuxiao_l  阅读(197)  评论(0编辑  收藏  举报