onListItemClick无法在放置在活动中的ListFragment中工作

时间:2014-06-26 18:56:46

标签: android android-fragments android-listfragment

我有一个标准活动,通过XML将ListFragment“嵌入”到布局中。 ListFragment由自定义适配器定义。

虽然列表已填充,但我无法点击列表项;点击根本没有注册。列表项布局中只有两个TextView

以下是ListFragment代码的代码:

public class alarmList extends ListFragment {

    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
                "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
                "Linux", "OS/2" };

        // use your custom layout
        alarmListCustomAdapter adapter = new alarmListCustomAdapter(getActivity(), values, "fonts/Lato-Light.ttf");
        setListAdapter(adapter);

    }

    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        Log.i("checking: ", "WORKING");
        String item = (String) getListAdapter().getItem(position);
        Toast.makeText(getActivity(), item + " selected", Toast.LENGTH_LONG).show();
    }

}

以下是list元素的布局:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:scrollbars="none"
    android:background="#dfdfdf"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:focusable="false">

        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:background="#fbfbfb"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginTop="5dp"
            android:layout_marginLeft="6dp"
            android:layout_marginRight="6dp"
            android:paddingBottom="14dp"
            android:paddingTop="14dp"
            android:paddingLeft="@dimen/activity_horizontal_margin"
            android:paddingRight="@dimen/activity_horizontal_margin" >

            <TextView
                android:id="@+id/alarm_time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:hint="@string/wall_clock_hint"
                android:textSize="25sp"
                android:layout_alignParentLeft="true"
                android:focusable="false"
                android:focusableInTouchMode="false"/>

            <TextView
                android:id="@+id/alarm_label"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/alarm_time"
                android:layout_marginTop="8dp"
                android:textSize="15sp"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:hint="LABEL"/>

        </RelativeLayout>

        <View
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_width="fill_parent"
            android:layout_height="5dip"
            android:background="@drawable/drop_shadow">
        </View>

     </LinearLayout>


</ScrollView>

这里可能有什么问题?

我在SO上遇到了类似的问题,但没有一个解决方案适合我。

1 个答案:

答案 0 :(得分:1)

不要将ScrollView(来自行布局)等可滚动窗口小部件嵌入到另一个可滚动窗口小部件中,例如ListView