0

私のアプリの目的は、曲 (deezer sdk) を検索し、検索結果を gridView に表示することです。アルバムのジャケットとそのすぐ下に「アーティスト - タイトル」を表示できるようにしたいです。「artist-title」が非常に長い場合があるので、横にスクロールできるようにしたいと考えています。アイテムを「focusable = false」に設定する必要があることをインターネットで見ましたが、何も変わらないようです。グリッドビュー内のアイテムの XML は次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridView_topLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >

<ImageView
    android:id="@+id/gridView_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:contentDescription="@string/gridTextView_Album"
    android:src="@drawable/album_cover_default" />

<HorizontalScrollView
    android:id="@+id/gridView_horizontalScroll"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="left"
    android:clipChildren="true"
    android:fillViewport="true"
    android:scrollbars="none" >

    <RelativeLayout
        android:id="@+id/gridView_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:focusableInTouchMode="false" >

        <TextView
            android:id="@+id/gridView_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:isScrollContainer="true"
            android:singleLine="true" />
    </RelativeLayout>
</HorizontalScrollView>

それがおそらく最善の方法ではないことはわかっていますが、それが私がなんとかした唯一の方法です。アルバムのカバーが意図したとおりに表示され、アーティストのタイトルもうまく機能するので、私のアダプターは完璧に機能します。

これは私のアクティビティ内の setOnItemClickListener です:

gridview.setAdapter(songSelection_adapter_listAdapter);
gridview.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3)
{
    Log.i("onItemClickListener", "CLICK!");
}
});

これは「クリック!」を印刷しません。logcat では、何も起こりません。「onTouchListener」を試してみましたが、これはうまく機能しますが、gridViewを下にスクロールできません:(

ご協力ありがとうございました。

4

1 に答える 1