【发布时间】:2014-01-02 04:53:40
【问题描述】:
我有一个按钮和一个微调器(最初是隐藏的)。当用户按下按钮时,微调器会填充项目并变得可见。现在我想将 OnItemSelectedListener 添加到微调器。我已经尝试了很多教程,但都没有成功。
这是我的 OnCreate 函数
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button load_routes = (Button)findViewById(R.id.load_routes);
Spinner routes = (Spinner)findViewById(R.id.routes_list);
load_routes.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
load_routes(v);
}
});
routes.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> arg0, View v, int position, long id)
{
Log.v("routes", "route selected");
}
public void onNothingSelected(AdapterView<?> arg0)
{
Log.v("routes", "nothing selected");
}
});
}
这是我的 load_routes 函数
private void load_routes(View v)
{
Spinner routes = (Spinner)findViewById(R.id.routes_list);
List<String> routes_list = RouteParser.get_routes();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, routes_list);
routes.setAdapter(adapter);
TableRow list_of_routes_row = (TableRow)findViewById(R.id.list_of_routes_row);
list_of_routes_row.setVisibility(View.VISIBLE);
}
此设置不起作用。我让它工作的唯一方法是当我将我的监听器设置为routes.setOnItemSelectedListener(this) 然后我实现OnItemSelectedListener 并包含必要的功能。但是我有多个微调器,需要为不同的微调器创建单独的侦听器。任何帮助将不胜感激。谢谢!
【问题讨论】:
-
为什么又在load_routes()函数中找到view routes_list?
标签: android spinner android-spinner