重写adapter 使用listview

本文介绍了如何在Android中使用ListView,包括在Activity中声明并设置点击监听,以及创建自定义adapter来展示数据。自定义adapter通过继承BaseAdapter,实现了getView方法来填充布局,并根据业务需求设置了item的点击事件。
摘要由CSDN通过智能技术生成

1、activity中 声明,并使用listview

mUserList = (ListView) findViewById(R.id.users_online_list);
// 添加点击
mUserList.setOnItemClickListener(new OnItemClickListener() {


@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// setTitle("点击第" + arg2 + "个项目");
//showToast();
}
});


2、使用自定义的adapter

List<LoginLocalAreaNetworkUser> userlist = this.mService.getUserList();
userOnlineAdapter mUserOnlineAdapter = new userOnlineAdapter(this, userlist);
mUserList.setAdapter(mUserOnlineAdapter);

3、自定义adapter

public class userOnlineAdapter extends BaseAdapter { 
        private Context mContext; 
        private LayoutInflater mInflater;
        private List<LoginLocalAreaNetworkUser>  mUserlist; 


public void setmUserlist(List<LoginLocalAreaNetworkUser> mUserlist) {
this.mUserlist = mUserlist;
}

public userOnlineAdapter(Context context,List<LoginLocalAreaNetworkUser>  userlist) { 


            super(); 


            this.mContext = context; 


            mInflater = LayoutInflater.from(context); 


            mUserlist = userlist; 
        } 

@Override 


        public int getCount() { 


            // TODO Auto-generated method stub 


            return mUserlist.size(); 


        } 

 @Override 


        public Object getItem(int arg0) { 


            // TODO Auto-generated method stub 


            return arg0; 


        } 

 @Override 


        public long getItemId(int arg0) { 


            // TODO Auto-generated method stub 


            return arg0; 


        } 

@Override 


        public View getView(final int position, View view, ViewGroup arg2) { 


            // TODO Auto-generated method stub 


            if(view == null){ 


                view = mInflater.inflate(R.layout.list_items_users_online, null); 


            } 

TextView userItemTitle = (TextView) view.findViewById(R.id.userItemTitle); 
            ImageView userItemDelete = (ImageView) view.findViewById(R.id.userItemDelete); 
            userItemTitle.setText(mUserlist.get(position).getUser_Name());
            userItemDelete.setImageResource(R.drawable.user_item_delete);
            if(mIsServer){
            userItemDelete.setVisibility(View.VISIBLE);
            }else{
            userItemDelete.setVisibility(View.GONE);
            }

userItemDelete.setOnClickListener(new OnClickListener() { 


                @Override 


                public void onClick(View arg0) { 


                ((TogetherGamePlayActivity)mContext).getService().disconnectUser(mUserlist.get(position));


                } 

}); 


            return view; 


        }


4、自定义adapter中使用的item layout ,list_items_users_online.xml

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout   
    android:id="@+id/RelativeLayout01"   
    android:layout_width="fill_parent"   
    xmlns:android="http://schemas.android.com/apk/res/android"   
    android:layout_height="wrap_content"   
    android:paddingBottom="4dip"   
    android:paddingLeft="12dip"  
    android:paddingRight="12dip">  

<TextView   
    android:text="TextView01"   
    android:layout_height="wrap_content"   
    android:textSize="20dip"   
    android:layout_width="fill_parent"      
    android:id="@+id/userItemTitle"  
    />  

<ImageView   
    android:paddingTop="12dip"  
    android:layout_alignParentRight="true"  
    android:layout_width="wrap_content"   
    android:layout_height="wrap_content"   
    android:id="@+id/userItemDelete"  
    />  
</RelativeLayout>  



备注:gridview 实现方式与 listview 类似。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值