博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
baseAdapter
阅读量:4324 次
发布时间:2019-06-06

本文共 4436 字,大约阅读时间需要 14 分钟。

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;
}

}

 

转载于:https://www.cnblogs.com/linduan/p/5322609.html

你可能感兴趣的文章
华为云软件开发云:容器DevOps,原来如此简单!
查看>>
MyEclipse 快捷键(转载)
查看>>
03链栈_LinkStack--(栈与队列)
查看>>
会滚段
查看>>
MANIFEST.MF的用途(转载)
查看>>
react高阶组件
查看>>
Android 高手进阶,自己定义圆形进度条
查看>>
Objective-C路成魔【2-Objective-C 规划】
查看>>
Java之旅(三)--- JSTL和EL表情
查看>>
正则匹配
查看>>
单利模式
查看>>
病毒表-相信对大家都有帮助-病毒词典
查看>>
ios 8 联系人ABPeoplePickerNavigationController
查看>>
列表、字典、append
查看>>
关于JAVA IO流的学习
查看>>
C#使用Json.Net遍历Json
查看>>
软工个人项目之词频统计
查看>>
Alpha 冲刺 (7/10)
查看>>
Bmob基础
查看>>
HashMap和HashTable,HashMap中key和value的原理 - 跳刀的兔子 - 博客园
查看>>