11

リストビューを持つページにポップアップがあります。別のxmlでポップアップのデザインを作成し、メインページのボタンをクリックしてロードしました。ポップアップにはリストビューがあり、各行には画像とテキストビューがあります。Android 4.1 ではリストビューで行を選択できませんが、5.0 では機能しています。誰でも私に解決策を提案してもらえますか? リストビュー:

<ListView android:id="@+id/lstSites"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fastScrollEnabled="true"
        android:layout_margin="5dp"
        android:descendantFocusability="blocksDescendants"></ListView>
</LinearLayout>

リストビュー アイテム:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants"
android:focusable="false"
android:focusableInTouchMode="false">
<ImageView
    android:id="@+id/thumbImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:layout_marginRight="10dp"
    android:focusable="false"
    android:focusableInTouchMode="false"/>
<TextView
    android:id="@+id/tvSite"
    android:textSize="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:text="Name"
    android:focusable="false"
    android:focusableInTouchMode="false"/>

行クリックリスナーの追加:

lstSiteMenu = (ListView) popupView.findViewById(R.id.lstSites);

            adapter = new MenuItemsAdapter(SiteActivity.this, arrMenu);
            // Attach the adapter to a ListView
            lstSiteMenu.setAdapter(adapter);
            lstSiteMenu.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                                        final int position, long id) {
            }
4

4 に答える 4

1

すべての解決策を試してください:


popupwindow.setFocusale(true);
listView xml : "android:focusable="true"

代わりに使用しないlstSiteMenu.setOnItemClickListener
で、アダプターに移動してgetView追加します

convertView.setOnClickListener

それがあなたを助けることを願っています!

于 2015-12-29T08:14:00.560 に答える
0

から削除する必要がありandroid:descendantFocusability="blocksDescendants"ますListView

また、およびの行レイアウトからandroid:focusable="false"およびを削除します。android:focusableInTouchMode="false"ImageViewTextView

リスト項目はクリック可能であるはずですが、フォーカスの取得を無効にしています

于 2015-12-22T10:13:23.313 に答える