アプリでメンション タイプのポップアップを動作させようとしています。ポップアップ ウィンドウが表示されると、ユーザーはスクロールし、ポップアップ ウィンドウを閉じると入力し続けます。閉じるまでポップアップウィンドウを開いたままにしておく方法はありますか?
ここに私が取り組んでいるコードがあります。
public class MainActivity extends AppCompatActivity
{
private EditText editText;
private ListPopupWindow listPopup;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText);
String[] states = getResources().getStringArray(R.array.state_array);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, states);
listPopup = new ListPopupWindow(this);
listPopup.setHeight(300);
listPopup.setAnchorView(editText);
listPopup.setAdapter(adapter);
//listPopup.setModal(false);
listPopup.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Toast.makeText(MainActivity.this, "Position " + String.valueOf(position) + " Clicked", Toast.LENGTH_SHORT).show();
}
});
editText.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if(!listPopup.isShowing())
{
listPopup.setInputMethodMode(ListPopupWindow.INPUT_METHOD_NEEDED);
listPopup.show();
listPopup.getListView().setChoiceMode(AbsListView.CHOICE_MODE_SINGLE);
editText.requestFocus();
}
}
});
}
}