我完全不知所措,试图根据相邻 Spinner 中选择的内容更改 TextView 的值。
public class SpinnerSelectItemListener implements OnItemSelectedListener {
private Context context;
public SpinnerSelectItemListener(Context c){
this.context = c;
}
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
View view = null;
TextView textView = null;
LayoutInflater inflater = LayoutInflater.from(context);
parent.getItemAtPosition(position);
view = new View(context);
view = inflater.inflate(R.layout.common_app_header, null);
textView = (TextView)view.findViewById(R.id.customer_name_value);
textView.setText("John");
}
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
}
当我运行这是调试模式时,一切都按预期发生,但是当一切都完成后,即使调试器显示新值,模拟器上的 textView 的值也不会改变。肯定有一些非常愚蠢的东西我错过了。请帮忙。
编辑:情况就像我从微调器中选择了员工的 ID 号,并且根据选择,显示员工姓名的 TextView 会发生变化。我要修改的 TextView 在微调器之外。
EDIT2:当我内联定义侦听器时,这运行良好,即我写了类似的东西
modelspinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
TextView textView = null;
textView = (TextView)findViewById(R.id.customer_segment_value);
textView.setText("Commercial");
textView = (TextView)findViewById(R.id.TIV_value);
textView.setText(R.string.app1_name);
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
有人可以解释我之前编写的代码有什么问题。