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) {
*********我想再这里获取焦点行,就是选中的那行的数据,是哪个方法呢,请教*********************
}
});


return convertView;
}

}

解决方案 »

  1.   

    感觉不像是View.getFocusables这个方法,因为好像要传进参数的,英文水平不好,求教啊
      

  2.   

    不要用匿名内部类。。
    这样写:class xxListener implements OnClickListener {   int position;public xxListener(int position) {   this.position = position;}@Override
    public void onClick(View v) { //...........}
    }然后:holder.viewBtn.setOnClickListener(new xxListener(position));position的值就传进去了
      

  3.   

    然后在利用getItem方法获得该焦点的key值,就能得到了value了