在我的整個一天,我曾在這個問題上。微調爲setSelection禁用我的按鈕的onclick方法
我有一個微調和可擴展列表視圖。我的子視圖首先有兩個按鈕。一個是「接受」,另一個是「拒絕」。我的微調有4個選擇。首先是「等待請求」二是「接受請求」三是「拒絕請求」四是「所有的要求」
我想看到的是「等待請求」時,我的程序首先啓動。 而當我接受或拒絕,我想我的微調動態變化。 (編輯:。我想更新我的數據集不會改變我的微調爲此,我需要刷新我的飛旋我打電話adapter.notifydatasetchanged後微調篩選我的數據我用微調根據記錄來篩選我的數據(列表視圖元素)類別)。 對於動態更改,我首先使用了setSelection(position,true)代碼。但這不行。所以我用setSelection(0,true);爲setSelection(位置,TRUE); 的原因,爲什麼我用了兩次,因爲如果它已經由同一個位置選擇微調並不時更新。所以首先我用這段代碼將我的位置設置爲0。 「setSelection(0,true)」之後,我用此代碼設置了我的實際所需位置。 「setSelection(position,true)」
有了這兩個代碼我記住我的微調是動態的但是!我屬於我的listview子項的按鈕不再處於活動狀態。我不能點擊我的按鈕。
我使用的線程來運行這兩個代碼塊,但也線程不可能解決我的問題。我開始認爲這是一個錯誤問題。所以我想問問stackoverflow。我在等待任何想法?
這是我的紡絲器的代碼:
spinner.setAdapter(spinnerAdapter); listview.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, final int position, long id) {
if (oldposition == position)
{
if(position!=0) {
spinner.setSelection(0, false);
spinner.setSelection(position, false);
}
else
{
spinner.setSelection(1, false);
spinner.setSelection(position, false);
}
}
oldposition = position;
parentsFiltered.clear();
if (parent.getItemAtPosition(position).equals("Tümü")) {
parentsFiltered.addAll(yedek);
parents.clear();
parents.addAll(parentsFiltered);
} else if (parent.getItemAtPosition(position).equals("Onaylananlar")) {
filter(1);
} else if (parent.getItemAtPosition(position).equals("Reddedilenler")) {
filter(2);
} else if (parent.getItemAtPosition(position).equals("Bekleyenler")) {
filter(0);
}
dateFilter();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
parentsFiltered.clear();
parentsFiltered.addAll(yedek);
parents.clear();
parents.addAll(parentsFiltered);
adapter.notifyDataSetChanged();
adapter.notifyDataSetInvalidated();
}
});
在此先感謝..
如果您對我的代碼有任何疑問,我已經準備好爲您解釋清楚。我不想顯示我的所有代碼,因爲我認爲它可能看起來很複雜。聽到你的想法,我有點不耐煩,因爲我真的需要。 – Hilal