2017-11-29 10 views
1

アイテムをクリックした後にリストビューを閉じることを試みています。 listviewはアイテムのリストをポップアップし、アイテムをクリックするとそこにとどまります。 dialog.dismiss()とか、listviewsのようなものがありますか?Androidでアイテムを選択した後にポップアップリストビューを閉じる方法

 final ListView lvUser = new ListView(this); 
    userList = tmDB.getAllUsers(); 
    final AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setTitle(R.string.selectUser); 
    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, userList); 
    lvUser.setAdapter(arrayAdapter); 
    builder.setView(lvUser); 

    //when user selects item 
    lvUser.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      String name = userList.get(position); 
      int userID; 
      userID = tmDB.getUserId(name); 
      txtName.setText(name); 
// close the list view after selecting an item 
     } 
    }); 
+0

listViewでクリックを解除しようとしましたか? –

+0

更新された記事を参照してください。 – Raja

答えて

2

あなたはAlertDialog.Builder

最終AlertDialogダイアログによって達成することができない、あなたがポップアップ消すことができAlertDialogインスタンスを使用して

public AlertDialog alertDialog; 

     final AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle(R.string.selectUser); 
     ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(Main3Activity.this, android.R.layout.simple_list_item_1, userList); 
     lvUser.setAdapter(arrayAdapter); 
     builder.setView(lvUser); 

     //when user selects item 
     lvUser.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       String name = userList.get(position); 
       int userID; 
       userID = tmDB.getUserId(name); 
       txtName.setText(name); 
// close the list view after selecting an item 
       alertDialog.dismiss(); 

      } 
     }); 

     alertDialog = builder.create(); 
     alertDialog.show(); 
+0

それがうまくいった!どうもありがとう! –

-1

あなたは警告ダイアログとAlert.dismissを(作成)

+0

AlertDialog.Builderには解読方法が含まれていません – Raja

+0

コードを編集してください。アラートの作成とこのアラートの解除() –

0

AlertDialog.Builderはそれを使用するには、2つのbuilder.setPositiveButtonとbuilder.setNegativeButton()メソッドを持っています。または、カスタム表示のために単純なダイアログを使用する必要があります。

0

のように使用する必要があります。 final AlertDialog.Builder alertDialog =新しいAlertDialog.Builder(LoginScreen.this); alertDialog.setCancelable(true); alertDialog.setTitle( "LIST OF DAYS");

  ListView listView = new ListView(getApplicationContext()); 
      final String[] listOfDays = {"MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"}; 
      final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(LoginScreen.this, android.R.layout.simple_list_item_1, listOfDays); 
      listView.setAdapter(arrayAdapter); 
      alertDialog.setView(listView); 

      dialog = alertDialog.create(); 

      listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
        Toast.makeText(LoginScreen.this,arrayAdapter.getItem(position)+" CLICKED",Toast.LENGTH_LONG).show(); 
        dialog.dismiss(); 
       } 
      }); 

      dialog.show(); 
関連する問題