【Android笔记】listview点击或选中item改变item样式或背景

1、自定义Adapter中配置:

 1 public class MyAdapter extends BaseAdapter{
 2 
 3  int mSelect = 0;   //选中项
 4 
 5      ......
 6 
 7  public void changeSelected(int positon){ //刷新方法
 8      if(positon != mSelect){
 9       mSelect = positon;
10      notifyDataSetChanged();
11      }
12     }
13 
14 
15 
16 public View getView(int position, View convertView, ViewGroup parent) {
17 //     if(convertView==null){
18         LayoutInflater factory = LayoutInflater.from(context);
19         View v = (View) factory.inflate(R.layout.list_item, null);
20         TextView tv = (TextView) v.findViewById(R.id.Item_tv);
21         tv.setText("test");
22 //     }
23         if(mSelect==position){    
24          v.setBackgroundResource(R.drawable.fc_bg);  //选中项背景
25         }else{
26          v.setBackgroundResource(R.drawable.bg);  //其他项背景
27         }
28         
29         return v;
30     }
31 
32 }

2、在Activity中应用:

 1 ...........
 2 
 3 mAdapter = new MyAdapter(...);
 4 
 5 myList.setAdapter(mAdapter);
 6 
 7 //////////点击监听
 8 
 9 myList.setOnItemClickListener(new OnItemClickListener() {
10 
11   @Override
12   public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
13           mAdapter.changeSelected(position);//刷新
14 
15   }......}
16 
17 ////////////////选中监听
18 
19 myList.setOnItemSelectedListener(new OnItemSelectedListener() {
20 
21   @Override
22   public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
23             mAdapter.changeSelected(position);//刷新
24 
25   }......}

参考原文:http://www.tuicool.com/articles/YFBVJf

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。