2011-09-20 9 views
4

私はアンドロイドアプリケーションを開発しています。
私はそれは、2つのTextViewを有する、線形レイアウトが含まれた後に、それは、スピナー、リニアレイアウトがどのようにフォーカスを取得するのですか?

が含ま上にいくつかのコンポーネント
が含まactivty、
1を作成したが静的な値を有し、他は動的な値でありますその線形ロイアウトをクリックすると、ダイアログボックスが作成され、そのダイアログに値を設定すると、他のテキストビューが表示されます。
私はこのタイプの4 linearlayoutを持っている、私は2ボタンを含む最後に別の線形レイアウトを持っています。

問題は、私は、マウスをスクロールするとき、エミュレータでは最後のボタンスピナー上で、その後焦点を当てることである(オレンジへのそれの色の変更を意味する)

そこで問題は、どのように私はその4にフォーカスを得ることができるということですリニアレイアウト?(私はそれのLinearLayoutの真のフォーカス可能& focusontouch &クリック可能な値を設定します。)

答えて

4

私はこれをやって、私のLinearLayoutにandroid:clickable="true"を設定するトリックをやってきました。ビューを設定するときにそのレイアウトのクリックハンドラを設定するだけです。

+0

私は既に4つの線形レイアウトをすべて設定していますclickable = "true"でもフォーカス可能ではありませんが、その色はスピナーのような他のコンポーネントと比較して変化しません(フォーカスがオレンジになります) – Anant

+1

API 23で 'RelativeLayout'(エミュレート)の場合、最小値は' android:focusableInTouchMode'と 'android:clickable'です。 –

1

android:focusable=true

私はこのことについて確認していない設定しようとするが、あなたの問題を解決することがあります。

1

私はとのLinearLayoutを持っている:

 <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/selectorbarbutton" 
       android:clickable="true" 
       android:focusable="true" 
       android:orientation="vertical" > 

と、この作品は、フォーカスを取得し、イベントを正しくクリックしてください。