Я не могу найти способ, чтобы клавиатура из моего телефона всплывала, когда я показываю диалоговое окно с предупреждением, где пользователи могут вводить количество игроков в editText.Из-за этого я не могу ничего напечатать в editText, когда я запускаю приложение на моем физическом телефоне.Вот также код для моего основного и диалогового класса:
Main:
package com.example.joppe.firstapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements
spelersDialog.spelersDialogListener {
private TextView textView_test;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView_test = (TextView) findViewById(R.id.textView_test);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openDialog();
}
});
}
public void openDialog() {
spelersDialog SpelersDialog = new spelersDialog();
SpelersDialog.show(getSupportFragmentManager(), "spelers Dialog");
}
@Override
public void applytexts(String number) {
textView_test.setText(number);
}
}
alertDialog:
package com.example.joppe.firstapp;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AppCompatDialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
public class spelersDialog extends AppCompatDialogFragment {
private EditText players;
private spelersDialogListener listener;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.layout_dialog, null);
builder.setView(view)
.setTitle("Number of players:")
.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
.setPositiveButton("apply", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
String number = players.getText().toString();
listener.applytexts(number);
}
});
players = (EditText) view.findViewById(R.id.players);
return builder.create();
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
try {
listener = (spelersDialogListener) context;
} catch (ClassCastException e) {
throw new ClassCastException(context.toString() +
"must implement spelersDialogListener");
}
}
public interface spelersDialogListener {
void applytexts(String number);
}
}