【问题标题】:OnItemClickListener does not work with BaseAdapterOnItemClickListener 不适用于 BaseAdapter
【发布时间】:2014-11-07 09:11:49
【问题描述】:

我正在尝试使用自定义适配器将可点击列表添加到我的第一个 android 应用程序 一切都很好,但是当我使用

mItemList.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "Clicked", Toast.LENGTH_LONG).show();
            Log.d("error", "error here");   
        }
    });

但没有回应 没有吐司 尽管列表显示良好,但没有错误

自定义适配器

 public class ItemListAdapter extends BaseAdapter {
public Context context;
public ArrayList<ItemModel> items;
.....
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View grid;
LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    if (convertView == null ) {
        grid = new View(context);
        grid = mInflater.inflate(R.layout.item, null);
Button bt = (Button) grid.findViewById(R.id.btn_list);
    Typeface tf = Typeface.createFromAsset(context.getAssets(), "fonts/font1.otf");
 bt.setText(items.get(position).getTitle().toString());
 bt.setTypeface(tf);
}else{
    grid = (View) convertView;
}
return grid;
}
....
}

【问题讨论】:

  • 你是扩展Activity还是ListActivity?
  • 简单地试试 (new OnItemClickListener(){
  • 这不是好方法 new android.widget.AdapterView.OnItemClickListener use new onItemClickListner ....
  • 请显示您将数据绑定到列表视图的代码。

标签: android baseadapter onitemclick


【解决方案1】:

如果您的项目布局中有ButtonImageButtonCheckBoxRadioButton,请将这些属性添加到它们:

android:focusable="false"
android:focusableInTouchMode="false"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-02
    相关资源
    最近更新 更多