2016-10-14 10 views
0

私はいくつかのレコードを表示するために警告ダイアログを使用しています。そのレコードはdbから来てAlertdialog.whenで表示されます。ユーザーがアイテムをクリックすると、アイテム名をLog.thisに取得したいと思っていますcode.it表示アイテムは[test]ですアラートダイアログから選択した値を取得する方法は?

ログインとして 0 [test]は私がそれをしたい示す上面

List<Video> vd=Video.findWithQuery(Video.class, "select * from Video"); 
      if (vd.size()>0) { 

       for (Video v : vd) { 

        arrayList.add(v.getTitle()); 

       } 

       final List<String> list = Arrays.asList(arrayList.toString()); 
       categoryStrings=new String[list.size()]; 
       categoryStrings=list.toArray(categoryStrings); 

       AlertDialog.Builder alert = new AlertDialog.Builder(Editmedia.this); 


       alert.setTitle("Media List"); 
       alert.setCancelable(false); 

       final int selected = 0; // or whatever you want 
       alert.setSingleChoiceItems(categoryStrings, selected, new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int item) { 
         //onclick 
         String categoryString = categoryStrings[item]; 

         Log.d("sel", " " + item+" "+categoryString); 

         edit(); 
        } 
       }); 


       alert.show(); 

ログ値に初期化さ

のArrayListのArrayListとString []型categoryStrings testとして、それが表示したいですLog

+0

どのように保管されている値を助けるべき? –

+0

このログを表示してください: 'Log.d(" sel "、+ categoryStrings);' – Vyacheslav

答えて

0

これを試してみてください:

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setTitle("Media List"); 
       ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, 
         android.R.layout.simple_list_item_1); 
       arrayAdapter.clear(); 
       for (int i = 0; i < list.size(); i++) { 
        Log.i(LOG_TAG, list.get(i)); 
        arrayAdapter.add(list.get(i)); 
       } 
       builder.setAdapter(arrayAdapter, new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         Toast.makeText(getApplicationContext(), list.get(which), 
           Toast.LENGTH_LONG).show(); 
        } 
       }); 
       builder.setPositiveButton("Cancel", 
         new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog, int which) { 
           dialog.dismiss(); 
          } 
         }); 
       AlertDialog alert = builder.create(); 
       alert.show(); 
+0

setAdapterが私のために働いた – vindy

+0

これを聞いて嬉しいです:-) –

1

はこれを試してみてください、それはcategoryStringsに

String categoryString = categoryStrings[item]; 

categoryString = categoryString.replaceAll("[\\p{Ps}\\p{Pe}]",""); 
Log.d("sel", " " +" "+categoryString); 

[EDIT]

String categoryString = categoryStrings[item]; 

categoryString = categoryString.replace("[",""); 
categoryString = categoryString.replace("]",""); 

Log.d("sel", " " +" "+categoryString); 
+0

これを試してみました。 .lang.String、java.lang.String) ' – vindy

+0

コードを編集してみてください –

関連する問題