首页 > 解决方案 > 点击完全没有反应

问题描述

这是来自 Android 初学者书籍的示例。我认为问题出在 mNoteAdapter 上,但我找不到它的确切位置。我尝试使用其他来源的适配器并且它正在工作(我的意思是单击)所以我至少可以看到登录 logcat。mNoteAdapter 如何影响用户通过应用点击的可能性?我怎样才能找到问题所在?

        mNoteAdapter = new NoteAdapter();
        ListView listNote = (ListView) findViewById(R.id.listView);
        listNote.setAdapter(mNoteAdapter);

        listNote.setOnItemClickListener(new AdapterView.OnItemClickListener() 
        {
            @Override
            public void onItemClick(AdapterView<?> adapter, View view, int 
        whichItem, long id) {
                Log.e("CLICK", "CliCK");       
             }
        });
    }

这是一个 NoteAdapter 类

public class NoteAdapter extends BaseAdapter {
        List<Note> noteList = new ArrayList<Note>();
        @Override
        public int getCount() {
        }
        @Override
        public Note getItem(int whichItem) {
        }
        @Override
        public long getItemId(int whichItem) {
        }
        @Override
        public View getView(int whichItem, View view, ViewGroup viewGroup) {
            if (view == null) {
                LayoutInflater inflater = (LayoutInflater)
                        getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                view = inflater.inflate(R.layout.listitem, viewGroup, false);
            }
            TextView txtTitle = (TextView) view.findViewById(R.id.txtTitle);
             ImageView ivImportant = (ImageView) view.findViewById(R.id.imageViewImportant);

            Note tempNote = noteList.get(whichItem);
            if (!tempNote.isImportant()) {
                ivImportant.setVisibility(View.GONE);
            }

            txtTitle.setText(tempNote.getTitle());
            return view;
        }

        public void addNote(Note n) {

        }
    }

标签: javaandroid

解决方案


在 Android 上有很多方法可以将项目显示为列表。--> ListView、RecyclerView 等。

列表需要来源吗?假设您的源是一个包含 1000 个元素的数组。您的 ListView 必须有尽可能多的列才能显示所有列,对吗?

  • 适配器负责获取数组,并将每个元素分配给每个列表占位符

推荐阅读