私はこの仕事を得ることができないようです。私はすでに他のフォーラムで読んだものに関してpopWindowをフォーカス可能に設定しましたが、それでも運がありません。
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="wrap_content"
Android:layout_height="fill_parent"
Android:adjustViewBounds="true"
Android:background="@drawable/popbg"
Android:orientation="vertical" >
<Button
Android:id="@+id/cancel"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="right"
Android:layout_marginRight="10dp"
Android:layout_marginTop="30dp"
Android:background="@drawable/zcancel" />
<TextView
Android:id="@+id/textView3"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp"
Android:layout_marginLeft="10dp"
Android:text="SSID"
Android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
Android:id="@+id/editText3"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:ems="10"
Android:inputType="textPersonName" />
Java
case(R.id.settings):
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
v.setBackgroundResource(R.drawable.cpanel2);
return true;
case MotionEvent.ACTION_UP:
v.setBackgroundResource(R.drawable.cpanel1);
LayoutInflater layoutInflater =
(LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View popSwitchView = layoutInflater.inflate(R.layout.settings_xml, null);
final PopupWindow popWindow = new PopupWindow(popSwitchView);
popWindow.setWidth(LayoutParams.MATCH_PARENT);
popWindow.setHeight(LayoutParams.MATCH_PARENT);
popWindow.showAtLocation(popSwitchView, Gravity.CENTER, 0, 0);
popWindow.setOutsideTouchable(false);
popWindow.setFocusable(true);
Drawable d = getResources().getDrawable(R.drawable.popbg);
popWindow.setBackgroundDrawable(d);
Button CancelButton = (Button)popSwitchView.findViewById(R.id.cancel);
CancelButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
popWindow.dismiss();
}
});
popWindow.showAsDropDown(v, 50, -30);
return true;
default:
return false;
}
ネットワーク構成の設定のポップウィンドウを作成することを計画しています。私はあなたたちのために良いビューのために私のコードを修正することができないようです。
は、答えを見つけました。
popWindow.setFocusable(true);
popWindow.update();
手助けありがとう!このトピックのクレジット Androidでedittextviewをクリックするとキーボードが表示されませんか?
何も助けにはなりませんでしたが、それでも一部のデバイスには表示されなかったので、そのように強制的に表示する必要がありました(kotlin):
val editText = customView.findViewById<EditText>(numberFieldId)
editText.onClick {
showKeyboard(editText, context)
}
private fun showKeyboard(mEtSearch: EditText, context: Context) {
mEtSearch.requestFocus()
val imm = context.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0)
}
これは私のために働いた:
popWindow.setFocusable(true);
popWindow.update();
ポップアップを表示する前に、次の行を追加してみてください。
popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);