//用tableLayout 布局
TableLayout tableLayout = new TableLayout(this);
setContentView(tableLayout);
for(int i=0;i<data.size();i++){
TableRow row = new TableRow(this);
row.setId(i);
tableLayout.addView(row);
//满足条件就创建edittext
EditText text = new EditText(this);
text.setId(id1);
text.setTag(1);
text.setOnClickListener(this)
id1++
row.addView(text);
//满足条件就创建TextView
TextView view= new EditText(this);
view.setId(id2);
view.setTag(2);
view.setOnClickListener(this) id2++
row.addView(view);
//满足条件就创建下拉菜单
Spinner spinner=new Spinner(this);
spinner.setId(id3);
spinner.setTag(3);
sid3+;
spinner.setOnitemClickListener(this)
row.addView(spinner);
public void onClick(View v) {
int tag=(Integer) v.getTag();//这里报空指针异常
switch(tag){
case 1:
//取得EditText 的数据
case 2:
//取得TextView 的数据
case 3:
//取得spinner 的数据
}
整段代码是在循环里面的,现在要取控件的值,int tag=(Integer) v.getTag();//这里报空指针异常;
我的目的就是取到控件的数据,别的方法也可以,求高手指点。。
TableLayout tableLayout = new TableLayout(this);
setContentView(tableLayout);
for(int i=0;i<data.size();i++){
TableRow row = new TableRow(this);
row.setId(i);
tableLayout.addView(row);
//满足条件就创建edittext
EditText text = new EditText(this);
text.setId(id1);
text.setTag(1);
text.setOnClickListener(this)
id1++
row.addView(text);
//满足条件就创建TextView
TextView view= new EditText(this);
view.setId(id2);
view.setTag(2);
view.setOnClickListener(this) id2++
row.addView(view);
//满足条件就创建下拉菜单
Spinner spinner=new Spinner(this);
spinner.setId(id3);
spinner.setTag(3);
sid3+;
spinner.setOnitemClickListener(this)
row.addView(spinner);
public void onClick(View v) {
int tag=(Integer) v.getTag();//这里报空指针异常
switch(tag){
case 1:
//取得EditText 的数据
case 2:
//取得TextView 的数据
case 3:
//取得spinner 的数据
}
整段代码是在循环里面的,现在要取控件的值,int tag=(Integer) v.getTag();//这里报空指针异常;
我的目的就是取到控件的数据,别的方法也可以,求高手指点。。
有别的取数据的方法么?