我已經做了question(刪除),但我認爲這是非常困惑和難以理解,所以這個問題是關於同樣的問題,但比以前更簡單。刷新ArrayList到ClickListener
我做出了表率項目,同樣的情況,有以下項目:
- 一個ArrayList,用我的所有項目。
- 另一個帶有過濾項目的ArrayList。
- A設置爲過濾項目。
對於我的Set
上的每個過濾項目,我在主視圖上添加一個新視圖。這些新的視圖,有一個OnClickListener
,理論上顯示過濾所有項目。
問題是當我點擊任何視圖時,結果都是一樣的。
我的代碼:這兩個按鈕的
public class MainActivity extends Activity {
private List<Integer> myList = new ArrayList<Integer>();
private List<Integer> myFinalList;
private Set<Integer> setOfAallCodes = new HashSet<Integer>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myList.add(1);
myList.add(1);
myList.add(1);
myList.add(2);
myList.add(2);
myList.add(2);
listItems();
}
public void listItems() {
myFinalList = new ArrayList<Integer>();
for (Integer element : myList) {
setOfAallCodes.add(element);
}
Object[] arrayOfAllCodes;
arrayOfAllCodes = setOfAallCodes.toArray();
for (Object i : arrayOfAllCodes) {
myFinalList.clear();
int actual = (Integer) i;
for (Integer element : myList) {
if (element == actual) {
myFinalList.add(element);
}
}
LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
View v = vi.inflate(R.layout.button_view, null);
Button btnTest = (Button) v.findViewById(R.id.mega_button);
View insertPoint = findViewById(R.id.conteudo);
((ViewGroup) insertPoint).addView(v);
btnTest.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("Result: " + myFinalList);
}
});
}
}
}
結果是:[2, 2, 2]
有什麼不對?我能做些什麼來使按鈕顯示他們的結果?
能否請刪除您的其他問題,以避免重複?先謝謝你 ! – 2Dee
這有很多問題,我不知道從哪裏開始......首先確定:結果是一樣的,因爲你總是打印相同的結果......你期望得到什麼結果? – Fildor