androidlistview获取控件的值,android中关于使⽤ListView中如
何。。。
最近在做数据库的课程设计,使⽤了Android的SQLite来做,然后遇到了⼀些困难,其中⼀个就是焦点问题。
当我们为⼀系列的数据绑定到⼀个ListView上进⾏显⽰的时候,会发⽣焦点碰撞的问题,⽐如能为每⼀个item添加点击事件并且有反应,但是当点击item⾥⾯的edittext的时候确实没有反应,这时候的editext的焦点应该是android:focusable="false",但是,当我们把它以及listview中其某⼀个设置为true或者不设置这个属性的时候,item就对点击事件有反应但是对edittext有反应了,所以我们应该如何来获得这个可以更改的值呢,我使⽤的是如下这个⽅法:
⾸先,吧edittext的android:focusable属性设置为true或者省略不设置,使得item不能发⽣点击或者其他事件,在底部增加⼀个button,是在main布局中的,当在edittext中输⼊完数据之后,点击按钮,从⽽实现数据获取。
在按钮事件当中需要实现如下⽅法如下:
for (int i = 0; i < ChildCount(); i++)
{ //遍历ListView,获取每⼀个item
LinearLayout layout = (LinearLayout) ChildAt(i);// 获得⼦item的layout
// 从layout中获得控件,根据其id
TextView textView01 = (TextView) ChildAt(0);//按照他们在item的排列顺序,从0开始
TextView textView02 = (TextView) ChildAt(1);
EditText et = (EditText) ChildAt(2);
// String name = Text().toString();
String S_no = Text().toString();
listview控件在哪里String score = et.getText().toString();
Log.i("TeacherMainFrame", S_no + score);
new Object[]
{ score, S_no, class_name });
Toast.makeText(getApplicationContext(), "录⼊成功", 0).show();
// 或者根据位置,在这我假设TextView在前,EditText在后
//System.out.println("the text of " + i + "'s EditText:----------->"
//+ et.getText());
}
这样就不⽤说需要Item和Edittext同时都获得焦点才可以录⼊成绩了
其中listview的模版