我对 android 开发非常陌生,这基本上是我的第一个应用程序。
我按照 developer.android.com 上的指南和互联网上的其他资源来使用微调器。
在我的主要活动中,我有一个微调器和一个按钮,我想做的是根据微调器所选项目启用(setClickable)按钮。
public class MainMenu extends Activity {
private Spinner spinner1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_menu);
//Add items to spinner 1 dynamically
addItemsOnSpinner1();
addListenertoSpinner();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main_menu, menu);
return true;
}
public void addItemsOnSpinner1(){
spinner1 = (Spinner) findViewById(R.id.spinner1);
List<String> list = new ArrayList<String>();
list.add("Test 1");
list.add("Test 2");
list.add("Add new");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
spinner1.setAdapter(dataAdapter);
}
public void addListenertoSpinner(){
spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());
}
}
我已经成功创建了一个 OnItemSelectedListener 类,我可以从中显示微调器选定的项目文本:
public class CustomOnItemSelectedListener extends Activity implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
// TODO Auto-generated method stub
if(parent.getItemAtPosition(pos).toString()== "Add new"){
Toast.makeText(parent.getContext(),
"OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
Toast.LENGTH_SHORT).show();
}
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
我的问题是:
如何设置 Button.setClickable?我尝试做类似的事情:
if(parent.getItemAtPosition(pos).toString()== "Add new"){
Button b1 = (Button)findViewById(R.id.button1);
b1.setClickable(true);
}
但应用程序崩溃...
提前干杯!