2014-07-13 2 views
0

Я хочу сделать эффект радио-кнопки с некоторыми текстовыми представлениями внутри сетки, поэтому при щелчке текстового текста текст текста отображается, но если вы нажмете на другое текстовое изображение, а затем снова щелкнет, чтобы изменить текст последнего нажатого элемента.Изменение элемента text textview из другого элемента той же сетки

private Hay_nohay_familia[] datos = new Hay_nohay_familia[]{ 
     new Hay_nohay_familia("HAY", ""), 
     new Hay_nohay_familia("NO HAY",""), 
     new Hay_nohay_familia("FAMILIA", ""), 
     new Hay_nohay_familia("", "1"), 
     new Hay_nohay_familia("", "1"), 
     new Hay_nohay_familia("", "1"),}; 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.prueba); 


     final GridView grid; 


     final AdaptadorFecha adaptador2 = 
       new AdaptadorFecha(this);     

     grid = (GridView)findViewById(R.id.hay_nohay_familia); 


     grid.setAdapter(adaptador2); 

     grid.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
       TextView fecha = ((TextView)v.findViewById(R.id.fecha)); 





      fecha.setText(new SimpleDateFormat("dd/MM/yy").format(new Date())); 


      } 
     }); 

} 



     class AdaptadorFecha extends ArrayAdapter<Hay_nohay_familia> { 

      Activity context; 


       AdaptadorFecha(Activity context) { 
        super(context, R.layout.grd_radio, datos); 
        this.context = context; 
       } 

       public View getView(int position, View convertView, ViewGroup parent) { 
       LayoutInflater inflater = context.getLayoutInflater(); 
       View item = inflater.inflate(R.layout.grd_radio, null); 

       TextView hay = (TextView)item.findViewById(R.id.hay_nohay_familia); 
       hay.setText(datos[position].getDatos()); 

       TextView fecha = (TextView)item.findViewById(R.id.fecha); 
       fecha.setText(datos[position].getFecha()); 




       return(item); 
      } 


     } 

проблема заключается в том, что я не могу доступ к другим TextViews текстов из onitemclick для того, чтобы установить их незаполненными снова. Я придумал некоторые идеи, такие как изменение данных массива динамически и предоставление значения даты, которое я хочу щелкнуть по тексту, из функции, вызванной моим пользовательским адаптером, после обновления адаптера и получения всех остальных по умолчанию, но я новичок в этом и я не знаю, как изменить этот массив.

PD: добавление адаптера.notifyDataSetChanged(); внутри onitemclick не работает, потому что он также очищает текстовое изображение, которое я хочу изменить.

Спасибо!

ответ

0

Уже нашел ответ самостоятельно после сжигания головы.

Я использовал

grid.getChildAt(position) 

к Acces других пунктов представления и затем в соответствующие их TextViews

Смежные вопросы