加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Android在ListView中如何action的达成

发布时间:2021-11-21 21:14:18 所属栏目:教程 来源:互联网
导读:问题描述 程序里的listview中有3个image buttons:play、detail、buy。 每一个 image button都有各自的action。那么在 listview 中对每一个 image button 怎样执行 onclick action? 我使用的代码: public class AndroidThumbnailList extends ListActivity

问题描述
 
程序里的listview中有3个image buttons:play、detail、buy。
 
每一个 image button都有各自的action。那么在 listview 中对每一个 image button 怎样执行 onclick action?
 
我使用的代码:
 
public class AndroidThumbnailList extends ListActivity{
      ..........
  public class MyThumbnaildapter extends ArrayAdapter<String>{
      public MyThumbnaildapter(Context context, int textViewResourceId,String[] objects) {
      super(context, textViewResourceId, objects);
            // TODO Auto-generated constructor stub
      }
      public View getView(int position, View convertView, ViewGroup parent) {
          .........
      }
  }
 
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
    _contentUri = MEDIA_EXTERNAL_CONTENT_URI;
    initVideosId();
  setListAdapter(new MyThumbnaildapter(AndroidThumbnailList.this, R.layout.row, _videosId));
  }
}
 
如何在 list view 创建 action ?
 
解决方案
 
你需要创建自己的 Adapter, 然后 inflate 你想用的视图。然后给每个图像分配一个 OnClick 监听。
 
给你一个我之前使用的例子
 
public class GroupListAdapter extends BaseAdapter {
 
private List<Group> groups;
 
// ... constructors here
 
@Override
public int getCount() {
    return groups.size();
}
 
@Override
public Group getItem(int position) {
    return groups.get(position);
}
 
@Override
public long getItemId(int position) {
    return position;
}
 
@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
    final Group group = getItem(position);
 
    final View view;
    if (convertView == null)
        view = LayoutInflater.from(parent.getContext()).inflate(R.layout.group, null);
    else
        view = convertView;
 
    view.setOnClickListener(new OnClickListener() {
 
        @Override
        public void onClick(View v) {
            // do stuff when the rest of the view is clicked
        }
    });
 
    TextView tv = (TextView) view.findViewById(R.id.group_name);
    tv.setText(group.getName());
 
    final CheckBox check = (CheckBox) view.findViewById(R.id.group_checkbox);
    check.setOnClickListener(new OnClickListener() {
 
        @Override
        public void onClick(View v) {
            // do stuff when clicked
        }
    });
 
 
    return view;
}
}

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读