我试图在我的侦听器类中通过ID获取TextView,它处理一个微调器的onItemSelected事件.在我的主Activity中,我可以调用findViewById(R.id.textView1),它工作正常.但是如果我在我的spinner监听器类中调用相同的函数,它总是返回null并强制关闭应用程序.
任何人都知道为什么findViewById在我的主Activity中工作但在我的监听器类中不起作用?
这是我主要活动的代码.单击按钮时调用它:
public void something ()
{
setContentView(R.layout.spinnerLayout);
Spinner spinner = (Spinner) findViewById(R.id.mySpinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.spinner_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
Run Code Online (Sandbox Code Playgroud)
这是MyOnItemSelectedListener的代码:
public class MyOnItemSelectedListener implements OnItemSelectedListener
{
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)
{
TextView tv = view.findViewById(R.id.myTextView);
// I want to set the text of this text view to the value selected using the spinner
tv.setText("Something");
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
Run Code Online (Sandbox Code Playgroud)
我需要做什么才能获得"TextView tv = view.findViewById(R.id.myTextView);" 上班?
谢谢!!!
| 归档时间: |
|
| 查看次数: |
8901 次 |
| 最近记录: |