4

2 つの異なる子を含む拡張可能な ListView を使用しています。子レイアウトには、3 つの EditText フィールドが含まれています。グループを展開すると、子レイアウトが表示されますが、edittext フィールドにテキストを入力できません。

カスタム展開可能リスト アダプターの私のコードを以下に示します。

public View getChildView(int groupPosition, int childPosition, boolean arg2, View childView,
        ViewGroup parent) 
{
    switch (groupPosition)
    {
    case 0:
        childView = inflater.inflate(R.layout.edit_personal_layout, null);
        final EditText fname = (EditText)childView.findViewById(R.id.editTextFname);
        fname.setOnClickListener(new OnClickListener() {

            public void onClick(View arg0) 
            {
                // TODO Auto-generated method stub
                fname.setFocusable(true);
            }
        });

        break;
    case 1:
        childView = inflater.inflate(R.layout.edit_experience_layout, null);
        break;
    case 2:
        childView = inflater.inflate(R.layout.edit_qualification_layout, null);
        break;
    case 3:
        childView = inflater.inflate(R.layout.edit_login_layout, null);
        break;
    case 4:
        childView = inflater.inflate(R.layout.edit_other_layout, null);
        break;
    }

    return childView;
}


public View getGroupView(int position, boolean arg1, View view, ViewGroup parent) 
{
    if(view==null)
    {
        view = inflater.inflate(R.layout.edit_head, null);

    }
    TextView head = (TextView)view.findViewById(R.id.list_item_text_view_head);
    head.setText(menu[position]);
    return view;
}
4

2 に答える 2

5

1)editTextフォーカスが合っていない可能性があります。そのため、何も入力できません。以下の行をxml-layoutファイルに挿入してみてください。

 android:descendantFocusability="blocksDescendants"

子要素にフォーカスを与える方法の詳細については、このリンクを参照してください。

2) 上記の解決策が機能しない場合は、リストビューに追加してみてください。

<ListView
    android:id="@android:id/list" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent"
    android:descendantFocusability="beforeDescendants"
    />

mainfest.xml のアクティビティを変更します。

<activity android:name= ".yourActivity" android:windowSoftInputMode="adjustPan"/>

3) それでも機能しない場合は、このリンク (focusable-edittext-inside-listview)とこのリンクをご覧ください。

これで問題が解決することを願っています。

于 2013-01-16T08:28:40.543 に答える