나는 스피너, 커서 및 어댑터와 함께 일하고 있습니다.안드로이드 회 전자 "onclicklistener"질문
사용자가 회 전자에서 항목을 선택하면 현재 선택한 항목을 가져온 다음 다른 작업 (이 모든 추가 코드는 문제가 없습니다. 단지 1 개의 문제 만 수행하도록 설정합니다. 나는 가지고있다.). 그러나 setOnItemSelectedListener 콜백을 선언하고 나면 커서가 이미 채워져 있기 때문에 앱이 시작 되 자마자 이벤트가 시작된다.
이벤트가 발생하지 않도록 항목을 선택하지 않고 커서를 정의하는 방법이 필요합니다 (항목이 선택되지 않기 때문에). 아니면 이것을 달성하는 또 다른 좋은 방법이 있습니까?
기본적으로 커서가로드되기 때문에 앱이로드되면 setOnItemSelectedListener 함수가 실행됩니다 (나는 생각합니다). 또한 이벤트가 너무 빨리 실행된다는 사실을 무시하고, 스피너에서 -same- 항목을 선택하면 항목이 변경되지 않아 이벤트가 실행되지 않습니다. setonitemslectedlistener 대신 다른 콜백을 사용해야합니까? 지금까지 제가 가지고있는 코드는 다음과 같습니다.
c = db.getallrecents();
startManagingCursor(c);
busnumspinner = (Spinner) findViewById(R.id.Spinner01);
SimpleCursorAdapter spinneradapter = new SimpleCursorAdapter(this,
R.layout.lvlayout, c, spincol, spinto);
busnumspinner.setAdapter(spinneradapter);
busnumspinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
String spinnerString = null;
Cursor cc = (Cursor)(busnumspinner.getSelectedItem());
if (cc != null) {
spinnerString = cc.getString(
cc.getColumnIndex("busnum"));
text = spinnerString;
}
showDialog(DATE_DIALOG_ID);
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
, 나는 그것이 그러나이 라운드 콜백이 정의되면 발사 이벤트, 즉 문제가 내 문제 중 하나 얻는다 – Javi