程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-在 list view 中如何執行 action?

android-在 list view 中如何執行 action?

編輯:編程綜合問答
在 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 ?

最佳回答:


你需要創建自己的 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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved