我在單選模式下有一個listview。當按鈕被擊中時,我希望能夠獲得該列表視圖的選擇值。但是,它總是返回-1,即使我在click監聽器中設置了選擇。這是怎麼回事?我只能從onClick獲取這些信息嗎?Listview not holding selection index
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reorderlist);
//setup Adapter to ArrayList of String
origAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, originalViewingList);
//set ListView
origLV = (ListView) findViewById(R.id.originalPoolList) ;
origLV.setAdapter(origAdapter);
//setup selected item
origLV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//save selection index
origLV.setSelection(position);
}
});
}
public void onMoveListDown(View v) {
// get selected item
// ?? Returns -1 ??
int selPos = origLV.getSelectedItemPosition();
}
這裏的佈局XML:
<ListView
android:layout_width="match_parent"
android:layout_height="188dp"
android:id="@+id/originalPoolList"
android:layout_gravity="center_horizontal"
android:background="?android:attr/activatedBackgroundIndicator"
android:listSelector="#666666"
android:choiceMode="singleChoice" />
編輯:細說,我從列表視圖中選擇一個項目。當我點擊MoveList按鈕時,我想獲取選定的項目位置。該按鈕的onClick已連接到onMoveListDown。每當我打在列表中的第一項,然後單擊按鈕,值selPos = -1而不是0
你什麼時候調用onMoveListDown()? –
它連接到Button的OnClick() – Kat
你可以顯示發生了什麼? –