Java setOnItemSelectedListener上下文
首先感谢您的阅读 我在做什么:Java setOnItemSelectedListener上下文,java,android,multithreading,handler,Java,Android,Multithreading,Handler,首先感谢您的阅读 我在做什么: private Handler puentePais = new Handler() { @Override public void handleMessage(Message msg) { ArrayAdapter<String> dataAdapterPais = new ArrayAdapter<String>(getBaseContext(), R.layout.spinner_item,
private Handler puentePais = new Handler() {
@Override
public void handleMessage(Message msg) {
ArrayAdapter<String> dataAdapterPais = new ArrayAdapter<String>(getBaseContext(), R.layout.spinner_item, listaPaisesString);
spPais = (Spinner) findViewById(R.id.spPais);
spPais.setAdapter(dataAdapterPais);
spPais.setPrompt("Seleccione un pais");
spPais.setOnItemSelectedListener([WHAT SHOULD I USE HERE?]);
spPais.setSelection(posPais);
}
};
我从服务器获取数据,并试图在微调器上显示这些数据。问题是,我必须将所有网络连接移动到线程,所以我需要等待,直到我获得这些数据,才能将其放到微调器上
我正在使用一个处理程序,一旦我得到了所有的数据,就在微调器上充电
问题:
private Handler puentePais = new Handler() {
@Override
public void handleMessage(Message msg) {
ArrayAdapter<String> dataAdapterPais = new ArrayAdapter<String>(getBaseContext(), R.layout.spinner_item, listaPaisesString);
spPais = (Spinner) findViewById(R.id.spPais);
spPais.setAdapter(dataAdapterPais);
spPais.setPrompt("Seleccione un pais");
spPais.setOnItemSelectedListener([WHAT SHOULD I USE HERE?]);
spPais.setSelection(posPais);
}
};
当我在onCreate上使用setOnItemSelectedListener()时,我只是使用“this”来使用活动的上下文,但在处理程序上,我试图使用活动的上下文,但一直在问我
“AdapterView类型中的方法setOnItemSelectedListener(AdapterView.OnItemSelectedListener)不适用于参数(上下文)”
- 我想做的对吗李>
- 如何从处理程序中设置setOnItemSelectedListener
private Handler puentePais = new Handler() {
@Override
public void handleMessage(Message msg) {
ArrayAdapter<String> dataAdapterPais = new ArrayAdapter<String>(getBaseContext(), R.layout.spinner_item, listaPaisesString);
spPais = (Spinner) findViewById(R.id.spPais);
spPais.setAdapter(dataAdapterPais);
spPais.setPrompt("Seleccione un pais");
spPais.setOnItemSelectedListener([WHAT SHOULD I USE HERE?]);
spPais.setSelection(posPais);
}
};
private Handler puentePais=new Handler(){
@凌驾
公共无效handleMessage(消息消息消息){
ArrayAdapter dataAdapterPais=新的ArrayAdapter(getBaseContext(),R.layout.spinner\u项,ListaPaiseString);
spPais=(微调器)findViewById(R.id.spPais);
设置适配器(dataAdapterPais);
spPais.setPrompt(“Seleccione un pais”);
spPais.setonimselectedListener([我应该在这里使用什么?]);
选举委员会(posPais);
}
};
问候 使用
MyActivity。此
而不是此
在活动中实现OnItemSelectedListener接口,然后它就会工作。我这样做了,当我从onCreate设置listener时,它工作得很好。问题是如何从处理程序中执行。只需写“this”即可。我尝试过。问题是使用Context=this;我更改了MyActivityClass context=this;而且效果很好。谢谢你的帮助!谢谢您的解决方案较短。现在,罗宾花了很多时间试图帮助我,我不明白为什么要投他的反对票。。当做投票是为了给答案排序。