在Android中添加选项卡时,EditText焦点会丢失

时间:2016-01-12 09:56:14

标签: android focus android-tabs

我可以添加' n'我的应用程序中的选项卡数量,当我添加选项卡时,EditText会获得焦点,但只要我添加另一个选项卡,EditText焦点就会在两个选项卡中丢失。当我在片段中添加多个Tab时会发生这种情况。可能是什么原因以及如何解决这个问题?

XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/container"
android:background="@color/light_grey" >

<RelativeLayout
    android:id="@+id/top1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
     >
<RelativeLayout
    android:id="@+id/top"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/listrow_layerlist_background_dark_purple"  
>

    <LinearLayout
        android:id="@+id/linear_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="10dp" >

        <TextView
            android:id="@+id/tv_productName_size_color"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="&lt;Scan or Type a Barcode to see Product  
information here>"
            android:paddingLeft="5dp" />

        <LinearLayout
            android:id="@+id/linear1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="3" >

            <LinearLayout
                android:id="@+id/linear3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:layout_weight="1"
                android:orientation="vertical" >

                <EditText
                    android:id="@+id/editText_barcode1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:cursorVisible="true"



                    android:gravity="left"
                    android:hint="Barcode"
                    android:longClickable="false"
                    android:singleLine="true" >
                </EditText>

            <requestFocus />
            </LinearLayout>

            <LinearLayout
                android:id="@+id/linear_fetch_barcode_data"
                android:layout_width="20dp"
                android:layout_height="35dp"
                android:layout_gravity="bottom"
                android:background="@drawable/listrow_layerlist_image"
                android:gravity="center" >

                <ImageView
                    android:id="@+id/fetch_barcode_data"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/forward" />
            </LinearLayout>

            <Spinner
                android:id="@+id/areaSpinner"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1" />

            <Spinner
                android:id="@+id/locSpinner"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1" />
        </LinearLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/align"
                android:layout_alignTop="@+id/align"
                android:background="@drawable/camera_new" />

            <LinearLayout
                android:id="@+id/align"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_toRightOf="@id/button1"
                android:weightSum="5" >

                <TextView
                    android:id="@+id/text_minus"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_marginLeft="2dp"
                    android:layout_toRightOf="@id/button1"
                    android:layout_weight="1"
                    android:background="@color/darkgrey"
                    android:gravity="center"
                    android:paddingBottom="5dp"
                    android:paddingLeft="15dp"
                    android:paddingRight="15dp"
                    android:paddingTop="5dp"
                    android:text="-"
                    android:textColor="@color/white"
                    android:textSize="30sp" />

                <TextView
                    android:id="@+id/quantity"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:background="@color/dark_pink"
                    android:gravity="center"
                    android:text="1"
                    android:textSize="20sp" />

                <TextView
                    android:id="@+id/text_plus"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_marginRight="2dp"
                    android:layout_toRightOf="@id/quantity"
                    android:layout_weight="1"
                    android:background="@color/darkgrey"
                    android:gravity="center"
                    android:paddingBottom="5dp"
                    android:paddingLeft="15dp"
                    android:paddingRight="15dp"
                    android:paddingTop="5dp"
                    android:text="+"
                    android:textColor="@color/white"
                    android:textSize="30sp" />

                <LinearLayout
                    android:id="@+id/linear_add"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_toRightOf="@id/text_plus"
                    android:layout_weight="1"
                    android:background="@drawable/listrow_layerlist_image"
                    android:gravity="center" >

                    <ImageView
                        android:id="@+id/imageView1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/accept" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_marginLeft="2dp"
                    android:layout_toRightOf="@id/linear_add"
                    android:layout_weight="1"
                    android:background="@drawable/listrow_layerlist_image"
                    android:gravity="center" >

                    <ImageView
                        android:id="@+id/imageView2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:src="@drawable/cancel" />
                </LinearLayout>
            </LinearLayout>
        </RelativeLayout>
    </LinearLayout>
</RelativeLayout>

<LinearLayout
    android:id="@+id/linear"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/top"
    android:background="@color/dark_color"
    android:visibility="gone" >

    <TextView
        android:id="@+id/total_scanned_pending_jobs"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_margin="5dp"
        android:background="@drawable/rounded_edittext"
         android:gravity="left"
        android:paddingBottom="3dp"
        android:paddingLeft="10dp"
        android:paddingRight="15dp"
        android:paddingTop="3dp"
        android:textColor="@color/black" >
    </TextView>
</LinearLayout>

<LinearLayout
    android:id="@+id/linear2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/linear"
    android:layout_marginLeft="2dp"
    android:orientation="horizontal"
    android:visibility="gone" >

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="1dp"
        android:layout_marginLeft="1dp"
        android:layout_marginRight="1dp"
        android:layout_marginTop="1dp"
        android:layout_weight="1"
        android:background="@android:color/white"
        android:enabled="false"
        android:gravity="center"
        android:text="Barcode"
        android:textColor="@android:color/black"
        android:textSize="20sp"
        android:textStyle="bold" >
    </TextView>

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="1dp"
        android:layout_marginRight="1dp"
        android:layout_marginTop="1dp"
        android:layout_weight="1"
        android:background="@android:color/white"
        android:enabled="false"
        android:gravity="center"
        android:text="Qty"
        android:textColor="@android:color/black"
        android:textSize="20sp"
        android:textStyle="bold" >
    </TextView>

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="1dp"
        android:layout_marginRight="1dp"
        android:layout_marginTop="1dp"
        android:layout_weight="1"
        android:background="@android:color/white"
        android:enabled="false"
        android:gravity="center"
        android:text="Area"
        android:textColor="@android:color/black"
        android:textSize="20sp"
        android:textStyle="bold" >
    </TextView>

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="1dp"
        android:layout_marginRight="1dp"
        android:layout_marginTop="1dp"
        android:layout_weight="1"
        android:background="@android:color/white"
        android:enabled="false"
        android:gravity="center"
        android:text="Location"
        android:textColor="@android:color/black"
        android:textSize="20sp"
        android:textStyle="bold" >
    </TextView>
</LinearLayout>

<LinearLayout
    android:id="@+id/bottom"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:background="@color/black"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/runningTotal"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_marginRight="1dp"
        android:layout_weight="1"
        android:background="@color/darkgrey"
        android:gravity="center"
        android:textColor="@color/white"
        android:text="RUNNING\nTOTAL" >
    </TextView>

    <TextView
        android:id="@+id/saveBatch"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_marginRight="1dp"
        android:layout_weight="1"
        android:background="@color/darkgrey"
        android:gravity="center"
        android:text="SAVE\nBATCH"
        android:textColor="@color/white" >
    </TextView>

    <TextView
        android:id="@+id/gotoBatch"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_marginRight="1dp"
        android:layout_weight="1"
        android:background="@color/darkgrey"
        android:gravity="center"
        android:text="GO TO\nBATCH"
        android:textColor="@color/white" >
    </TextView>

    <TextView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_marginRight="1dp"
        android:layout_weight="1"
        android:background="@color/darkgrey"
        android:text="" >
    </TextView>

    <TextView
        android:id="@+id/finishJob"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@color/darkgrey"
        android:gravity="center"
        android:text="FINISH\nJOB"
        android:textColor="@color/white" >
    </TextView>
</LinearLayout>



<ListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/bottom"
    android:layout_below="@id/linear2"
    android:divider="@null" >
</ListView>
</RelativeLayout>

<LinearLayout
android:id="@+id/search_lly"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_below="@+id/back_lly"
    android:visibility="gone"
    >

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="25dp"
        android:layout_weight="1"
        android:text="Area"
        android:textSize="15sp"
        android:textStyle="bold" 
        android:layout_marginBottom="5dp"/>

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
         android:layout_weight="2"
        android:textSize="15sp"
        android:text="Location"
        android:textStyle="bold"  />

   <!--  <TextView
        android:id="@+id/edtTxtDesc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_weight="1"
        android:text="asasss"
        android:textSize="15sp" /> -->

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
         android:layout_weight="1"
        android:textSize="15sp" 
        android:textStyle="bold" 
        android:text="Total"/>

</LinearLayout>
<ListView
    android:id="@+id/searchList"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/search_lly"
    android:visibility="gone" >
</ListView>
<android.inputmethodservice.KeyboardView
    android:id="@+id/keyboardview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:keyPreviewLayout="@layout/kbpreview"
    android:keyPreviewOffset="12dp"
    android:visibility="gone" />

<android.inputmethodservice.KeyboardView
    android:id="@+id/numerickeyboardview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:focusable="true"
    android:keyPreviewLayout="@layout/kbpreview"
    android:keyPreviewOffset="12dp"
    android:focusableInTouchMode="true"
    android:visibility="gone" />
</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

尝试检查视图是否显示为:

    if (yourEditText.isShown()) {
    yourEditText.requestFocus();
        }
    else{
    }

希望它有所帮助。