Android 从同一网格的另一项修改网格文本视图项
我想在网格中创建一些文本视图的单选按钮效果,因此当单击一个文本视图时,文本视图文本会更改,但如果单击另一个文本视图,则之前单击的文本视图将再次变为空白,更改最后单击的项的文本Android 从同一网格的另一项修改网格文本视图项,android,arrays,gridview,Android,Arrays,Gridview,我想在网格中创建一些文本视图的单选按钮效果,因此当单击一个文本视图时,文本视图文本会更改,但如果单击另一个文本视图,则之前单击的文本视图将再次变为空白,更改最后单击的项的文本 private Hay_nohay_familia[] datos = new Hay_nohay_familia[]{ new Hay_nohay_familia("HAY", ""), new Hay_nohay_familia("NO HAY",""), new Ha
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);
}
}
问题是,我无法从onitemclick访问其他文本视图文本,以便再次将其设置为空。我提出了一些想法,比如动态更改数组数据,在刷新适配器并将所有其他适配器设置为默认文本后,从自定义适配器调用的函数中为单击的textview提供我想要的日期值,但我对这方面还不熟悉,我也不知道如何修改该数组
PD:添加适配器。notifyDataSetChanged;在onitemclick内部不起作用,因为它还清理我要更改的文本视图
谢谢 在烧死我的头后,我已经找到了答案 我曾经
grid.getChildAt(position)
访问其他项目视图,然后访问其相应的文本视图