hcg_21 2013-01-18 09:39 采纳率: 0%
浏览 2503
已采纳

在 list view 中如何执行 action?

程序里的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 ?

  • 写回答

2条回答 默认 最新

  • Curie-87 2013-01-22 02:25
    关注

    你需要创建自己的 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;
    }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题