2012-02-23 5 views
0

У меня есть ListView, я создал custom_row для элементов в списке, каждая строка содержит 2 имени TextView (textView1 и textView2) и ImageView, когда я нажимаю на элемент, появляется AlertDialog , там есть текст ввода и ОК, кнопки «Отмена». После ввода чего-либо во входном сигнале alertdialog и нажатия ok, я хочу изменить textView2 из элемента в ListView, который я нажал. Как я могу это сделать?android list view items

list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

     public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { 

     TextView tv=new TextView(getApplicationContext()); 
     //Log.i("da","Clicked : "+labelData[position]); 
     setLabel(labelData[position]); 
     tv=(TextView)findViewById(R.id.textView2); 
     tv.setText("das"); 


     } 

public void setLabel(String poz){ 

    AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); 
    alertDialog.setTitle("Set "+poz); 
    alertDialog.setMessage("Enter "+poz); 
    final EditText input = new EditText(this); 
    alertDialog.setView(input); 
    alertDialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
      String value = input.getText().toString(); 
      Log.i("da","Clicked : "+value); 
      } 
     }); 

    alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int whichButton) { 
      // Canceled. 
      } 
     }); 

    alertDialog.show(); 
} 

ответ

0

на Нажмите Ok Вы String от EditText (в вашем входе Case) А также Position .Теперь Просто установите String в вашем массиве, я имею в виду Rem Ове старая Строка, использованная в SetText в вашем textview2.And добавить this.Then adapter.notifyDatasetChanged() ;. Вы должны использовать динамический массив, чтобы удалить или добавить строковое значение из оповещения .I значит ...

 List<String> list = new ArrayList<String>(); 

     list.remove(position); 
     list.set(position,YourAlertTextfiledValue); 

     list.get(position); 
+0

Спасибо , это сработало – Razvan

0

Что вы ищете, это результат получения вызванной деятельности. Таким образом, здесь методы реализации в родительской деятельности: 1. startActivtyForResult (...) 2. onActivityResult (...)

Ребенок активность должна завершить работу, как обычно, и, наконец, звоните по телефону: 1. setResult (...) 2. отделка()

Вы можете прочитать здесь: http://saigeethamn.blogspot.com/2009/08/android-developer-tutorial-for_31.html