私はJavaを使用してAndroid 2.2で開発しています。ポップアップウィンドウにeditTextを配置しましたが、機能しません。無効な編集テキストのように機能し、編集テキストをクリックしてもソフトキーボードが表示されません。 .popupWindowに編集テキストを追加するにはどうすればよいですか?
私はこのような問題を解決しました:私はpopupWindow.setFocusable(true);
を置き、今それは機能しています。ポップアップウィンドウにフォーカスがなかったため、ポップウィンドウにあった編集テキストにフォーカスがなかったようです。
ちょうど試して:
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Title");
alert.setMessage("Message");
// Set an EditText view to get user input
final EditText input = new EditText(this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Do something with value!
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});
alert.show();
popWindow.setFocusable(true);
popWindow.update();
それが動作します。
任意のリスナーからこのコードを呼び出す
private void popUpEditText() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Comments");
final EditText input = new EditText(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
input.setLayoutParams(lp);
builder.setView(input);
// Set up the buttons
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// do something here on OK
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.show();
}
EditTextではAndroid:editableプロパティがtrueに設定されていますか? falseの場合、説明どおりに無効になります。