私は主題に関するトピックをたくさん見てきましたが、なぜそれが起こるのかまだわかりません. 左側にリストを表示するフラグメントがあり、右側にビュー ページャー (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秒もかからずに消えます...誰か別のアイデアがあれば..