android在list view中如何action的實現

來源:互聯網
上載者:User

問題描述程式裡的listview中有3個image buttons:play、detail、buy。每一個 image button都有各自的action。那麼在 listview 中對每一個 image button 怎樣執行 onclick action?我使用的代碼:[java]  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 監聽。給你一個我之前使用的例子[java]  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;  }  }    

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.