5

私にはListViewand があり、その中にいくつかのandListViewがある Row があります。行のどこかを押すと、フォーカスを取得してテキストを入力できるようになります。TextViewsEditTextsEditText

問題は、これを機能させることができないことです。をに配置するEditTextと、をクリックしても応答ListViewOnItemClickませんListView

を使用focusable="false"してみましたが、再度EditTextクリックすることはできましたが、フォーカス可能をtrueに設定した後でもフォーカスを得ることができませんでした。次に で を使用してみましたが、何も変更されていないようで、まだ機能しません。ListViewEditTextandroid:descendantFocusability="beforeDescendants"ListView

誰かがそれを機能させるために何ができるかについて考えを持っていますか?

4

3 に答える 3

4

これを試してください。行をクリックして EditText にフォーカスできるはずです (このSO Answerから変更):

public void onItemSelected(AdapterView<?> listView, View view, int position, long id) 
{ 
    EditText yourEditText = (EditText) view.findViewById(R.id.youredittextid);
    listView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS); 
    yourEditText.requestFocus(); 
} 

public void onNothingSelected(AdapterView<?> listView) 
{ 
    // onNothingSelected happens when you start scrolling, so we need to prevent it from staying 
    // in the afterDescendants mode if the EditText was focused  
    listView.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS); 
} 
于 2012-07-10T13:51:16.610 に答える
3

このようにします

ListView listView = (ListView) findViewById(R.id.yourListViewId);
listView.setItemsCanFocus(true);
listView.setClickable(false);

すなわち、

xmlからリストビューオブジェクトを取得した後、このリストビューのクリックを無効にして、子ビューにフォーカスを渡します

于 2012-07-10T13:29:00.480 に答える
0

xml行レイアウトのようにプロパティを追加でき、enabled="false"onItemClickListenerでできるので、これで解決します。setEnabled(true)setFocusable(true)

于 2012-07-10T13:26:11.603 に答える