android其他活动点击后退键到列表视图,列表视图项不能单击选项卡下

时间:2013-04-23 08:36:39

标签: android listview click android-tabhost back

我有一个tabhost,

标签A将连接A活动

A活动的布局有一个Edittext,button和listview。

listview是由baseadapter自定义的。列表视图包括文本视图,没有按钮或图像..等等。

当我进入程序时,listview项目可以单击,

它将连接B subActivity。

但是当我点击后退键时,(转到后面的A活动)

listview的项目不起作用,它必须向上或向下拖动,

该项目将变为点击正确。

我搜索了一些文学作品。

我曾尝试添加

    android:focusable="false"
    android:focusableInTouchMode="false"
    android:clickable="false"

    or

    descendantFocusability="blocksDescendants"
在我的listview,linearlayout或textview中。

但问题是存在的。

如何解决问题?非常感谢你。

我的A布局如下:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/bgColor"
        tools:context=".MainActivity" >

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="70dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:gravity="center"
            android:orientation="horizontal" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:layout_marginTop="4dp"
                android:layout_weight="1"
                android:gravity="center" >

                <EditText
                    android:id="@+id/drugText"
                    android:layout_width="224dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:ems="10"
                    android:gravity="center_vertical|center"
                    android:hint="@string/searchHint1"
                    android:textSize="18sp" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:layout_weight="3"
                android:gravity="left" >

                <Button
                    android:id="@+id/query"
                    style="@style/ButtonText"
                    android:layout_width="70dp"
                    android:layout_height="48dp"
                    android:layout_gravity="center"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/blue_btn"
                    android:text="@string/search"
                    android:textSize="20sp" />
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
           android:layout_below="@+id/linearLayout1" >

            <ListView
                android:id="@+id/drugList"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:clickable="true" />
        </LinearLayout>

    </RelativeLayout>

我的listview项目布局如下:

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/color_listview_border"
            android:gravity="center"
            android:minHeight="60dp" >

            <TextView
                android:id="@+id/drugNameTV"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TextView"
                android:textSize="20sp" />
        </LinearLayout>

    </LinearLayout>

2 个答案:

答案 0 :(得分:0)

转到B subActivity时,可以存储列表视图状态。 返回A subActivity后,您需要恢复listview状态。

答案 1 :(得分:0)

只需调用adapter.notifyDataSetChanged();在onResume函数