2015-02-07 3 views
0

У меня есть этот массивDialog сообщения не работают

String[] values = new String[] { "Android", "iPhone", "WindowsMobile", "Blackberry", "WebOS", "Ubuntu", "Windows8", "Max OS X", "Linux", "OS/2" }; 

мне нужно, чтобы показать элементы в ListView и адаптере, и когда я нажимаю на некотором элементе в диалоговом сообщении мне нужно, чтобы показать, что щелкнул элемент.

public class zadaca1 extends ListActivity { 


String[] values = new String[] { "Android", "iPhone", "WindowsMobile", "Blackberry", "WebOS", "Ubuntu", "Windows8", "Max OS X", "Linux", "OS/2" }; 
    protected void onCreate (Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // setContentView(R.layout.layout_zadaca1); 


     setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,values)); 

     ListView listView=getListView(); 
     listView.setTextFilterEnabled(true); 
     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       AlertDialog.Builder builder= new AlertDialog.Builder(getApplicationContext()); 
         builder.setTitle("Delete entry"); 
         builder.setMessage("Are you sure you want to delete this entry?"); 
         builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int which) { 
           // continue with delete 
           dialog.cancel(); 
          } 
         }); 
      // builder.setMessage(((TextView)view).getText()); 
       builder.show(); 

      } 

     }); 

    } 

} 

, но когда я запускаю свой телефон и нажимаю на какой-либо предмет, он говорит, что к сожалению zadaca1 остановился.

я также попробовать

AlertDialog.Builder builder= new AlertDialog.Builder(this); 

и

AlertDialog.Builder builder= new AlertDialog.Builder(AlertDialog.Builder.this); 

но этот код показывает ошибки

+0

'Dialog сообщения не work' Define ** не работает **. 'этот код показывает ошибки' ** какие ** ошибки? LogCat, пожалуйста? –

+0

в logcat, что это за ошибка, отображается сообщение logcat сообщение – Hanuman

+0

try' AlertDialog.Builder builder = new AlertDialog.Builder (zadaca1.this); ' – ved

ответ

1

Я стараюсь это, и это работает отлично

public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
        AlertDialog.Builder builder= new AlertDialog.Builder(zadaca1.this); 
          builder.setTitle("You clicked on"); 
          builder.setMessage(((TextView)view).getText()); 
          builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
           public void onClick(DialogInterface dialog, int which) { 
            // continue with delete 
            dialog.cancel(); 
           } 
          }); 
       // 
        AlertDialog dialog = builder.create(); 
        dialog.show(); 
1

Вы можете получить деталь внутри ListView по:

TextView nameyouWant = (TextView) view.findViewById(R.id.idofyourItem); 

Показать оповещения Диалог внутри ClickListener:

  listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, 
            int position, long id) { 

      //fetch data inside the listview item 
      TextView Title = (TextView) view.findViewById(R.id.idofyourItem); 
      String someTitle = Title.getText().toString(); 

       AlertDialog.Builder builder = new AlertDialog.Builder(YourActivityName.this); 

       //delete button 
       builder.setPositiveButton("Delete", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         //do some stuffs here! 
        } 
       }); 
       builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         dialog.cancel(); 
        } 
       }); 
       builder.setTitle("Delete ?"); 
       builder.setCancelable(false); 

       AlertDialog dialog = builder.create(); 
       dialog.show(); 


      } 
     }); 
Смежные вопросы