【问题标题】:Items in Listview only selectable when clicked on the TextListview 中的项目仅在单击文本时才可选择
【发布时间】:2013-06-11 16:46:39
【问题描述】:
    public void onClick(View arg0) {
        final Dialog dialog = new Dialog(Hero.this);
        ListView list = new ListView(Hero.this);

        final ArrayList<Spell> spells = new ArrayList<Spell>();
        for (int i = 0; i < MainActivity.charSpells.size(); i++){
            if (MainActivity.charSpells.get(i).getType() == Spell.SPELL){
                spells.add(MainActivity.charSpells.get(i));
            }
        }


        list.setAdapter(new ArrayAdapter<Spell>(Hero.this, R.layout.row, spells));
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setContentView(list);
        dialog.setCanceledOnTouchOutside(true);
        dialog.show();

        list.setOnItemClickListener(new OnItemClickListener()
                {
                    @Override
                    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                        spell1.setText(spells.get(arg2).getSc());
                        MainActivity.spells[0] = spells.get(arg2);
                        dialog.dismiss();
                    }
          });

        }

我制作了这个包含 ListView 的对话框,但是只有当您单击文本时才能选择项目,而不是像应有的那样在整行上选择项目。 谁能找到我的错误?

编辑:

好的,解决了,我使用了一个构建器来制作对话框: https://stackoverflow.com/a/6157258/2468567

【问题讨论】:

  • 您想通过单击行中的任意位置来选择项目?
  • 是的,目前它只接受直接点击文本。我想通过单击该行中的任意位置从列表中选择一个项目。
  • 也许您的问题来自您的适配器在 getView() 方法中?

标签: android


【解决方案1】:

如果发生这种情况,我假设您的 TextView 资源的高度/宽度都必须设置为 wrap_content,这意味着唯一可触摸的区域是实际文本所在的位置。

尝试将它们在 XML 中的值更改为 fill_parent(或固定大小或您正在做的任何事情)。然后调整 android:gravity 来调整文本在 View 中的放置位置。

回顾:

android:layout_width="fill_parent"
android:layout_height="fill_parent
android:gravity="center"

【讨论】:

    【解决方案2】:

    尝试使宽度大于 TextView 上的屏幕 列表.xml

    android:layout_width="1000dp"
    

    【讨论】:

      猜你喜欢
      • 2015-04-06
      • 1970-01-01
      • 1970-01-01
      • 2012-08-24
      • 2014-06-30
      • 1970-01-01
      • 1970-01-01
      • 2011-04-03
      • 1970-01-01
      相关资源
      最近更新 更多