android 4.0及更高版本:复制/粘贴/剪切面板在EditText上的LongClick Listener上消失

时间:2014-06-27 14:29:24

标签: java android android-edittext

我在选项卡中使用PreferenceActivity并使用editText添加页脚:

 <?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:foo="http://schemas.android.com/apk/res/com.assignmentexpert"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:orientation="vertical">
  <TableLayout 
    android:id="@+id/tableLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:shrinkColumns="2"
    android:stretchColumns="0"
    >
    <TableRow
          android:id="@+id/tableRow1"
          style="@style/text_row" 
          android:layout_weight="1"
          >
  <com.customitems.CustomEditText
        android:id="@+id/taskText"
        style="@style/custom_edittext"
        android:gravity="top|left"
        android:maxLength="8192"
        android:layout_marginLeft= "25dp"
        android:layout_height="110dp"
        android:imeOptions="actionDone"
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:scrollbars = "vertical"
        android:layout_marginRight="10dp"
        foo:customFont="Roboto-Regular.ttf"
        android:hint="@string/hint_assignment_task"/>


  </TableRow>
         <TableRow android:layout_height="1px" android:background="#323232">
    <TextView android:layout_span="1" android:layout_height="1px" 
             android:layout_width="fill_parent" android:text="">
     </TextView>
        </TableRow>
  <TableRow
          android:id="@+id/tableRow1"
          style="@style/text_row" 
          android:layout_weight="1"
          >
  <com.customitems.CustomEditText
        android:id="@+id/taskSpecReq"
        style="@style/custom_edittext"
        android:gravity="top|left"
        android:maxLength="8192"
        android:layout_marginLeft= "25dp"
        android:layout_height="110dp"
        android:imeOptions="actionDone"
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:scrollbars = "vertical"
        android:layout_marginRight="10dp"
        foo:customFont="Roboto-Regular.ttf"
        android:hint="@string/hint_assignment_specific_requirements"/>

     </TableRow>

  </TableLayout>

 </LinearLayout>

因此,当我在taskTest EditText上使用LongClick时,会出现复制/粘贴/剪切并且正常工作。但是当我长时间点击taskSpecReq我的taskSpecReq复制/粘贴/剪切面板和屏幕上的Tabs disappers时。 taskSpecReq位于屏幕底部。

长按第一个EditText: enter image description here

长按第二个EditText: enter image description here

2 个答案:

答案 0 :(得分:1)

当我在其中使用TabHost和嵌套的Activity时,我使用

解决了它
  android:windowSoftInputMode="stateUnspecified" 

用于TabActivity和嵌套活动:

  android:windowSoftInputMode = "adjustResize"

它解决了我的问题。

答案 1 :(得分:0)

看起来系统可能正在滚动您的视图以确保CustomEditText光标在软键盘上方可见,因此将顶部滚动到屏幕上。在android:windowSoftInputMode中查看您的活动的AndroidManifest.xml属性,描述为here

(确认是否是这种情况的一种简单方法是只切换两个CustomEditText小部件。如果问题总是出现在底部,那么可能就是这样。)