android spinner 监听,android Spinner OnItemSelectedListener监听无效,该怎么处理

android Spinner OnItemSelectedListener监听无效

本帖最后由 qin123q 于 2014-07-24 10:50:57 编辑

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.register);

info.WebGet();

nations=info.initData(); //这个有数据,这里没有问题

NationSpinner=(Spinner) findViewById(R.id.NationText);

MyAdapter myAdapter=new MyAdapter(this,loadRes,nations);

NationSpinner.setAdapter(myAdapter);

NationSpinner.setOnItemSelectedListener(myAdapter);

}

上面是Activity的代码,

下面是 适配器的类;public class MyAdapter extends BaseAdapter implements OnItemSelectedListener {

Context context;

ArrayList list=new ArrayList();

private Handler handler;

public MyAdapter(Context con,Handler handler,ArrayList list){

this.list=list;

context=con;

this.handler=handler;

}

@Override

public int getCount() {

android.util.Log.i("t460470591", "getCount");

return list.size();

}

@Override

public Nation getItem(int position) {

android.util.Log.i("t460470591", "getItem");

return list.get(position);

}

@Override

public long getItemId(int position) {

android.util.Log.i("t460470591", "getItemId");

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

android.util.Log.i("t460470591", "getView "+position);

Nation o=list.get(position);

View view=View.inflate(context, R.layout.item_listview,null);

TextView tView=(TextView) view.findViewById(R.id.nation_id);

TextView tViewD=(TextView) view.findViewById(R.id.nation_text);

tView.setText(o.getNationid()+"");

tViewD.setText(o.getNationtext()+"");

return view;

}

@Override   //执行不了这个方法

public void onItemSelected(AdapterView> arg0, View arg1, int arg2,

long arg3) {

android.util.Log.i("t460470591", "onItemSelected");

TextView iDTextView=(TextView) arg1.findViewById(R.id.nation_id);

TextView TextView=(TextView) arg1.findViewById(R.id.nation_text);

Bundle bundle=new Bundle();

bundle.putString(WebSerState.Operate, WebSerState.GetNation);

bundle.putString(WebSerState.NationID, iDTextView.getText().toString().trim());

bundle.putString(WebSerState.NationText,TextView.getText().toString().trim());

Message msgMessage=new Message();

msgMessage.what=WebSerState.Other;

msgMessage.setData(bundle);

handler.sendMessage(msgMessage);

}

@Override

public void onNothingSelected(AdapterView> arg0) {

android.util.Log.i("t460470591", "onNothingSelected");

}

}

------解决方案--------------------

在R.layout.item_listview 这个布局文件里面 加入下面的标签试试,可能是没有焦点。

android:descendantFocusability="blocksDescendants"

android:focusable="false"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值