Soft Keyboard Nie pojawia się, gdy używasz adaptera w DialogFragment

Mam niestandardowy DialogFragment, w którym znajduje się ArrayAdapter, który zawiera kilka tekstów edycji. Po wyświetleniu okna dialogowego miękka klawiatura nie pojawia się nawet po naciśnięciu tekstu edycji. Tekst edycji jest ostry, ale klawiatura nigdy nie pojawia się.

Jeśli nie używam adaptera i po prostu używam widoku z tekstem edycji, działa idealnie, ale gdy tylko dodam adapter, pojawia się problem.

Mój kod jest poniżej. Każda pomoc byłaby naprawdę doceniana.

Z góry dziękuję.

public class ParameterDialog extends DialogFragment {
Context context;

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

    ArrayList<Parameter> params = this.getArguments().getParcelableArrayList(MainActivity.KEY_PARAMS_TO_DIALOG);
    String name = this.getArguments().getString(MainActivity.KEY_NAME_TO_DIALOG);

    context = getActivity();
    // Use the Builder class for convenient dialog construction
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

    ParameterDialogAdapter pda = new ParameterDialogAdapter(context,R.layout.parameter_config_string , params);

    // Inflate and set the layout for the dialog
    // Pass null as the parent view because its going in the dialog layout
    builder
            .setTitle(name)
            .setAdapter(pda,null)
            .setPositiveButton("Send", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                }
            })
            .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                }
            });

    // Create the AlertDialog object and return it
    return builder.create();
}}

-

public class ParameterDialogAdapter extends ArrayAdapter<Parameter> {

Context context;
int layoutResourceId;
ArrayList<Parameter> data= null;

public ParameterDialogAdapter(Context context, int layoutResourceId, ArrayList<Parameter> data) {
    super(context, layoutResourceId, data);
    this.layoutResourceId = layoutResourceId;
    this.context = context;
    this.data = data;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    View row = convertView;
    //ParameterHolder holder = null;
    final LayoutInflater inflater = ((Activity)context).getLayoutInflater();
    final int p =position;
    row = inflater.inflate(layoutResourceId, parent, false);
    return row;
}}

-Układ

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/paramValueHolder"
android:paddingRight="10dp"
android:paddingLeft="10dp"
android:paddingBottom="5dp">

<EditText
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/paramValue"
    android:hint="Value"
    android:textColor="@color/text_grey" />

-Kod do pokazania okna dialogowego

ParameterDialog pDialog = new ParameterDialog ();

        Bundle bundle = new Bundle();
        bundle.putString(KEY_NAME_TO_DIALOG,action.getName());
        bundle.putParcelableArrayList(KEY_PARAMS_TO_DIALOG, params);
        pDialog.setArguments(bundle);

        pDialog.setArguments(bundle);
        pDialog.show(ft, "parameter_dialog");

questionAnswers(2)

yourAnswerToTheQuestion