以及即時通訊新的Android中的編程,我覺得有點與微調選擇失去... 我發現與相同,但他們都不適合我的目的,一些問題:微調onItemSelected保持所謂的一遍又一遍的
objectSpinner = (Spinner) findViewById(R.id.objectSpinner);
objectSpinner.setOnItemSelectedListener(MainActivity.this);
@Override
public void onItemSelected(AdapterView<?> adapterView, View view,
int position, long position2) {
Object object = adapterView.getAdapter().getItem(position);
Log.d("Spinner", "itemSelected: " + position + " - Object: " + object);
menuLayout = new View(this);
if (object instanceof Filter) {
Filter mFilter = (Filter) object;
setAdapterFilter(mFilter);
}
}
繼承人我把所有的數據設置到微調器的方法(微調器的數據它最初加載在onCreate方法,但它可以根據用戶從微調器選擇的項目而改變,所以onItemSelected將其調用一遍又一遍再次...)
public void setAdapterFilter(Filter filter) {
frameLayout.removeAllViews();
if (filter != null) {
menuLayout = inflater.inflate(R.layout.filter, null);
TextView typeTxt = (TextView) menuLayout
.findViewById(R.id.type_txt);
typeTxt.setText(filter.getType());
frameLayout.addView(menuLayout, 0);
}
ArrayAdapter<Filter> filterAdapter = new ArrayAdapter<Filter>(this,
android.R.layout.simple_spinner_item, filterArrayList);
objectSpinner.setAdapter(filterAdapter);
}
主要問題是:如何改變Spinner的行爲?我只需要onItemSelected事件觸發點擊(觸摸)時,而不是當適配器設置和數據加載時觸發。
你在哪裏設置了微調器適配器? – TronicZomB 2013-05-07 14:58:25
在onCreate方法的開始處,我使用了setAdapterFilter方法,並將null作爲參數 – 2013-05-07 15:15:31