作者kewang (652公车)
看板AndroidDev
标题Re: [问题] about spinner
时间Sun Mar 11 00:00:14 2012
※ 引述《Austin9 (奥斯丁)》之铭言:
: 请问一下,不知道是否有人知道spinner是否有提供set的功能?
: 假设有"台北"、"高雄"这两个选项,想要直接传"台北"的字串到SPINNER
: 让选项可以在"台北",找了很久,好像没有这个METHOD。
: 谢谢大家解惑!!!
没有这个method,不过我的作法通常是这样子
public class Person{
private String id;
private String name;
//getter & setter
}
public class MyAdapter extends BaseAdapter{
private ArrayList<Person> persons;
/*
4个要overwrite的method
*/
public int findPositionByKey(String key){
//implement你自己的finder
}
}
public class Main extends Activity{
private MyAdapter adapter;
private Spinner spinner;
public void onCreate(blahblah){
adapter = new MyAdapter();
spinner.setAdapter(adapter);
spinner.setSelection(adapter.findPositionByKey("A123456789"));
}
}
省略了很多细节,不过可以提供给你参考。
--
杂七杂八的kewang部落格
http://kewang.tw
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.3.53
※ 编辑: kewang 来自: 220.134.3.53 (03/11 00:03)
1F:推 Austin9:谢谢,很好的建议,本来是想另外写个方法来判断,之後再回 03/11 13:08
2F:→ Austin9:pos,想法是拿Resource里的ITEM来比较。因为我有很多 03/11 13:10
3F:→ Austin9:spinner要判断,这是目前想到的复杂方式,所以想上来问问 03/11 13:11
4F:→ Austin9:是否有更好的方法 03/11 13:11
5F:→ kewang:因为你使用的是一般的adapter,而我这边因为大都是custom的 03/11 13:22
6F:→ kewang:adapter,所以可以这样处理。要不然你就spinner.getAdapter 03/11 13:24
7F:→ kewang:然後再针对这个adapter做处理吧 03/11 13:24