关于Android Spinner控件动态赋值,不显示的问题

List<SpinnerItem> _listSI=new ArrayList<SpinnerItem>();
SpinnerItem siqz=new SpinnerItem("1","前兆");
_listSI.add(siqz);
SpinnerItem sidy=new SpinnerItem("2","电源");
_listSI.add(sidy);
SpinnerItem sicz=new SpinnerItem("3","测震");
_listSI.add(sicz);
Spinner spType=(Spinner)findViewById(R.id.spType);
ArrayAdapter<SpinnerItem> Adapter = new ArrayAdapter<SpinnerItem>(getApplicationContext(),
        android.R.layout.simple_spinner_item, _listSI);
Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spType.setAdapter(Adapter);

这样赋值后在选择下拉框中的内容后是不会显示的,查了很多资料都说异步加载的问题,我是把红色标点处改为当前的活动类就好了:

ArrayAdapter<SpinnerItem> Adapter = new ArrayAdapter<SpinnerItem>(TypeActivity.this, android.R.layout.simple_spinner_item, _listSI);

 

顺便记录下如何通过后台返回的值默认选中对应的项:

String value="测震";
SpinnerAdapter apsAdapter= spType.getAdapter(); //得到SpinnerAdapter对象
int k= apsAdapter.getCount();
for(int i=0;i<k;i++){
    if(value.equals(apsAdapter.getItem(i).toString())){
        spType.setSelection(i,true);// 默认选中项
        break;
    }
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Spinner控件是一个下拉列表框,它允许用户从预定义的选项中选择一个值。可以使用ArrayAdapter或CursorAdapter设置Spinner的选项。以下是Spinner的一种使用方法: 1. 在XML布局文件中定义Spinner控件: ``` <Spinner android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/planets_array" /> ``` 2. 在Java代码中获取Spinner控件的引用,设置适配器和监听器: ``` Spinner spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { String item = parent.getItemAtPosition(position).toString(); Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); ``` 3. 在res/values/strings.xml文件中定义Spinner选项: ``` <resources> <string-array name="planets_array"> <item>Mercury</item> <item>Venus</item> <item>Earth</item> <item>Mars</item> <item>Jupiter</item> <item>Saturn</item> <item>Uranus</item> <item>Neptune</item> </string-array> </resources> ``` 以上就是Android Spinner控件的一种使用方法,可以根据具体需求进行适当调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值