ListView之SimpleAdapter列表添加…

ListView之SimpleAdapter列表添加事件

点击一项出现,点击的内容

我们主文件的.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >
    <TextView 
        android:id="@+id/info"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="提示信息"/>
    
    <ListView 
        android:id="@+id/datalist"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

新建一个datalist.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context=".MainActivity"
    android:id="@+id/datalist">
    
        <ImageView 
         android:id="@+id/pic"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="left"
         android:src="@drawable/pic_oracle"/>
        
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:tools="http://schemas.android.com/tools"
       android:layout_width="180px"
       android:layout_height="wrap_content"
       android:orientation="vertical"
       tools:context=".MainActivity"
       android:gravity="left">
  
  
    <TextView 
       android:id="@+id/company"
       android:textSize="16px"
       android:padding="3px"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>
  
    <TextView 
       android:id="@+id/ceo"
       android:padding="3px"
       android:textSize="10px"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>   
</LinearLayout>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:tools="http://schemas.android.com/tools"
       android:layout_width="200px"
       android:layout_height="wrap_content"
       android:orientation="vertical"
       tools:context=".MainActivity"
       android:gravity="left">
  
  
    <TextView 
       android:id="@+id/type"
       android:textSize="16px"
       android:padding="1px"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>
  
    <ImageView 
       android:id="@+id/score"
       android:padding="1px"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>  
    
</LinearLayout>
</LinearLayout>

我们的主程序文件
.java

public class MainActivity extends Activity {

//定义我们的图片数组
private int pic[]=new int[]
{
R.drawable.pic_oracle,
R.drawable.pic_javase,
R.drawable.pic_javaweb,
R.drawable.pic_javaee,
R.drawable.pic_android,
R.drawable.pic_game
};
//定义我们显示的公司、CEO、公司类型、公司的星级图片
private String data[][]=new String[][]
{
{"百度","李彦宏","搜索",R.drawable.start_01+""},
{"阿里巴巴","马云","电子商务",R.drawable.start_02+""},
{"腾讯","马化腾","社交网络",R.drawable.start_03+""},
{"新浪","曹国伟","社交媒体",R.drawable.start_04+""},
{"网易","丁磊","互联网",R.drawable.start_05+""},
{"搜狐","张朝阳","互联网",R.drawable.start_01+""},
};
private ListView dataList=null;
private List<Map<String,String>> list=new ArrayList<Map<String,String>>();
private SimpleAdapter simpleAdapter=null;
private TextView info=null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.dataList=(ListView) super.findViewById(R.id.datalist);
this.info=(TextView)super.findViewById(R.id.info);
//将我们每一条记录添加到我们的Map当中
for(int i=0;i<data.length;i++){
//定义我们的Map数据
Map<String,String> map=new HashMap<String, String>();
//添加数据
map.put("pic", String.valueOf(pic[i]));
map.put("company",data[i][0]);
map.put("ceo", data[i][1]);
map.put("type", data[i][2]);
map.put("score", data[i][3]);
this.list.add(map);
}
this.simpleAdapter=new SimpleAdapter(
this, 
this.list, 
R.layout.datalist, 
new String[]{"pic","company","ceo","type","score"}, 
new int[]{R.id.pic,R.id.company,R.id.ceo,R.id.type,R.id.score}
);
this.dataList.setAdapter(this.simpleAdapter);
//为我们的记录添加点击事件
this.dataList.setOnItemClickListener(new OnItemClickListenerImp());
}
public class OnItemClickListenerImp implements OnItemClickListener{

public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Map<String,String> map=(Map<String, String>) MainActivity.this.simpleAdapter.getItem(position);
String company=map.get("company");
String ceo=map.get("ceo");
MainActivity.this.info.setText("您选择的公司是"+company+"ceo为"+ceo);
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值