展会信息港展会大全

Android中的ListView实现图片文字和按钮
来源:互联网   发布日期:2015-11-26 14:14:20   浏览:2615次  

导读:实现效果图:布局文件:vlist2.xml?<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:and...

实现效果图:

布局文件:

vlist2.xml

?

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="horizontal"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

<ImageView android:id="@+id/img"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_margin="5px"/>

<LinearLayout android:orientation="vertical"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

<TextView android:id="@+id/title"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textColor="#FFFFFFFF"

android:textSize="22px" />

<TextView android:id="@+id/info"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textColor="#FFFFFFFF"

android:textSize="13px" />

</LinearLayout>

<Button android:id="@+id/view_btn"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/s_view_btn"

android:layout_gravity="bottom|right" />

</LinearLayout>

程序代码:

/**

*

@author allin

*

*/

public class MyListView4

extends ListActivity

{

private List<Map<String,

Object>> mData;

@Override

public void onCreate(Bundle

savedInstanceState) {

super.onCreate(savedInstanceState);

mData

= getData();

MyAdapter

adapter = new MyAdapter(this);

setListAdapter(adapter);

}

private List<Map<String,

Object>> getData() {

List<Map<String,

Object>> list = new ArrayList<Map<String,

Object>>();

Map<String,

Object> map = new HashMap<String,

Object>();

map.put("title",

"G1");

map.put("info",

"google

1");

map.put("img",

R.drawable.i1);

list.add(map);

map

= new HashMap<String,

Object>();

map.put("title",

"G2");

map.put("info",

"google

2");

map.put("img",

R.drawable.i2);

list.add(map);

map

= new HashMap<String,

Object>();

map.put("title",

"G3");

map.put("info",

"google

3");

map.put("img",

R.drawable.i3);

list.add(map);

return list;

}

//

ListView 中某项被选中后的逻辑

@Override

protected void onListItemClick(ListView

l, View v, int position,

long id)

{

Log.v("MyListView4-click",

(String)mData.get(position).get("title"));

}

/**

*

listview中点击按键弹出对话框

*/

public void showInfo(){

new AlertDialog.Builder(this)

.setTitle("我的listview")

.setMessage("介绍...")

.setPositiveButton("确定",

new DialogInterface.OnClickListener()

{

@Override

public void onClick(DialogInterface

dialog, int which)

{

}

})

.show();

}

public final class ViewHolder{

public ImageView

img;

public TextView

title;

public TextView

info;

public Button

viewBtn;

}

public class MyAdapter

extends BaseAdapter{

private LayoutInflater

mInflater;

public MyAdapter(Context

context){

this.mInflater

= LayoutInflater.from(context);

}

@Override

public int getCount()

{

//

TODO Auto-generated method stub

return mData.size();

}

@Override

public Object

getItem(int arg0)

{

//

TODO Auto-generated method stub

return null;

}

@Override

public long getItemId(int arg0)

{

//

TODO Auto-generated method stub

return 0;

}

@Override

public View

getView(int position,

View convertView, ViewGroup parent) {

ViewHolder

holder = null;

if (convertView

== null)

{

holder=new ViewHolder();

convertView

= mInflater.inflate(R.layout.vlist2, null);

holder.img

= (ImageView)convertView.findViewById(R.id.img);

holder.title

= (TextView)convertView.findViewById(R.id.title);

holder.info

= (TextView)convertView.findViewById(R.id.info);

holder.viewBtn

= (Button)convertView.findViewById(R.id.view_btn);

convertView.setTag(holder);

}else {

holder

= (ViewHolder)convertView.getTag();

}

holder.img.setBackgroundResource((Integer)mData.get(position).get("img"));

holder.title.setText((String)mData.get(position).get("title"));

holder.info.setText((String)mData.get(position).get("info"));

holder.viewBtn.setOnClickListener(new View.OnClickListener()

{

@Override

public void onClick(View

v) {

showInfo();

}

});

return convertView;

}

}

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港