0

私は主題に関するトピックをたくさん見てきましたが、なぜそれが起こるのかまだわかりません. 左側にリストを表示するフラグメントがあり、右側にビュー ページャー (2 ページ) があります。

初めて起動したときに、アクティビティ キーボードが表示されません。それは素晴らしいことです。しかし、リスト項目をクリックすると (viewpager => myPager.setAdapter(..) に新しいものが表示されます)、または右にスワイプすると (ここではまだ表示されません)、左にスワイプして最初の項目に戻りますページが表示され、キーボードが再び表示され始め、私が行ったアクションが何であれ、残りの時間は引き続き表示されます。

配置できるすべてのレイアウトを配置しようと android:focusableInTouchMode="true"しましたが、それでも...

奇妙なことは、私のレイアウト内の編集テキストではなく、それが..何か他のものであるということです。おそらくレイアウトですが、わかりません(そして、それを知る方法もわかりません=)。私は多くの解決策を試したので少し奇妙ですが、それでもうまくいきません。

誰かアイデアがあれば...

ありがとうございました !!!!

ここに私のコードの関連部分があります。

マニフェスト.xml

<activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main"
        android:windowSoftInputMode="stateHidden" >

main_activity.xml

(DateList には、以下のリスト ビューとその他のものが含まれます (フォーカスされません))

<LinearLayout 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:orientation="horizontal" >

<fragment android:name="com.example.main.courante.e.DateList"
 android:id="@+id/list_frag"
 android:tag="list"
 android:layout_width="0dip"
 android:layout_height="fill_parent"
 android:layout_weight="1"
/> 

<TabHost
    android:id="@+id/tabhost"
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:layout_weight="3"
    android:paddingLeft="5dp"
    android:paddingTop="5dp" >  
    
    <LinearLayout 
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:layout_gravity="center">
        
        <TabWidget
            android:id="@android:id/tabs"
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"  
            android:layout_gravity="center" 
            android:tabStripEnabled="true"
             />
    
          <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
          
        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            />
        </FrameLayout>
    </LinearLayout>
</TabHost>
</LinearLayout>

ビューページャーに表示されるレイアウト:

(少し面倒なことは認めますが、focusablemodeなどがあるかどうかを示すためだけです)

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:orientation="vertical"
android:scrollbars="vertical"
>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center"
android:id="@+id/linear"
android:paddingLeft="30dp"
android:paddingRight="30dp"
 >

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/padding_small"
android:layout_marginBottom="@dimen/padding_small"
android:orientation="horizontal"
android:layout_gravity="center"
android:gravity="center"
android:id="@+id/top_lin">
<!--     android:background="@drawable/rounded_border_fiche_element" -->
 

 <ImageView 
     android:id="@+id/perm_img"
     android:layout_width="75dp"
     android:layout_height="75dp"
     android:layout_marginLeft="50dp"
     android:padding="@dimen/padding_small"
     
     android:src="@android:drawable/ic_notification_overlay" 
     android:contentDescription="TODO"
     android:background="@drawable/image_bg"/> 

   <TextView
        android:id="@+id/perm_nom"
        style="@style/textview_info"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textAppearance="?android:attr/textAppearanceMedium"
         />
   
    <TextView
        style="@style/textview_info"
        android:id="@+id/perm_prenom"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textAppearance="?android:attr/textAppearanceMedium"
         />
    
    <TextView
        style="@style/textview_info"
        android:id="@+id/perm_matricule"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:paddingRight="@dimen/padding_medium"
         />

</LinearLayout>

<View
     android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="@android:color/darker_gray"
    android:layout_marginTop="15dp"
    android:layout_marginBottom="15dp" />

<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_gravity="center"
    android:id="@+id/table_check">
<!--         android:background="@drawable/rounded_border_fiche_element" -->
     

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
       android:gravity="center">           

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/question_m1"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <CheckBox
            android:id="@+id/checkBox1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/question_m2"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <CheckBox
            android:id="@+id/checkBox2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:gravity="center">

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/question_m3"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <CheckBox
            android:id="@+id/checkBox3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />
        
        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/question_m4"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <CheckBox
            android:id="@+id/checkBox4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />

    </TableRow>

    <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/question_m5"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <CheckBox
            android:id="@+id/checkBox5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/question_m6"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <CheckBox
            android:id="@+id/checkBox6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />

    </TableRow>
    
</TableLayout>

<View
     android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="@android:color/darker_gray"
    android:layout_marginTop="15dp"
    android:layout_marginBottom="15dp" />

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" 
android:id="@+id/bot_lin">
<!--     android:background="@drawable/rounded_border_fiche_element"> -->

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/bot_lin_lin"
    android:focusableInTouchMode="true"
    android:focusable="true" >

    <TextView
        android:id="@+id/textView7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/securite" />

    <EditText
        android:id="@+id/securite"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:inputType="textMultiLine"
        android:lines="5" >

    </EditText>

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/bot_lin_lin2"
    android:focusableInTouchMode="true"
    android:focusable="true" >

    <TextView
        android:id="@+id/textView8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/client" />

    <EditText
        android:id="@+id/clients"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:inputType="textMultiLine"
        android:lines="5"/>

</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/bot_lin_lin3"
    android:focusableInTouchMode="true"
    android:focusable="true" >

    <TextView
        android:id="@+id/textView9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/entretien" />

    <EditText
        android:id="@+id/entretien"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:inputType="textMultiLine" 
        android:lines="5"/>

</LinearLayout>

</LinearLayout>

</LinearLayout>
</ScrollView>

編集 :

あることに気がつきました。ページャーをスワイプすると、キーボードのスペース ボタンの左にある 2 番目のボタンが ":-)" から ":" にすばやく変わり、スクロールが終了すると ":-)" に戻ります。2 番目の ":" は、アクション バーにある検索ウィジェットからのものです。たぶん、これがフォーカスされるのを止めることができれば、大丈夫ですか?どうすればいいですか?次のように定義されているためです。

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_settings"
    android:title="@string/menu_settings"
    android:orderInCategory="100"
    android:showAsAction="never" />

<item android:id="@+id/menu_search"
      android:title="@string/menu_search"
      android:icon="@drawable/ic_menu_search"
      android:showAsAction="ifRoom"
      android:actionViewClass="android.widget.SearchView"
      android:inputType="number" />

編集2:

searchwidget がフォーカスされないようにするために、2 行のコードを追加しました。

    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(searchView.getWindowToken(),0); 

どこでも myPager.setAdapter() を呼び出します。つまり、リスト項目をクリックすると、ビューページャーから public void onPageScrolled() にも配置する必要がありました...しかし、キーボードが表示され、すぐに表示されるので、実際には流暢ではありません1秒もかからずに消えます...誰か別のアイデアがあれば..

4

1 に答える 1