即使未选择项目 OnItemSelected 也会在 Spinner 中被触发
Even though item is not selected OnItemSelected is getting triggered in Spinner
我有以下微调器代码。我没有收到任何错误,微调器正在工作,但我遇到了这个问题,即使我没有 selected 任何项目,onItemSelected 侦听器中的代码正在执行,但我不希望这种情况发生n 直到我 select 和微调器中的项目。请任何人告诉我为什么会这样。非常感谢。欢迎所有建议。提前致谢。
我的旋转器代码:
SQLiteDataBaseAdapter adapter = new SQLiteDataBaseAdapter(this);
Cursor cursor = adapter.getAllSubTaskData();
// Log.d("Pana", "The value of cursor is " +Integer.parseInt(String.valueOf(cursor.toString())));
String[] fromFieldNames = new String[]{SQLiteHelper.UID, SQLiteHelper.SUB_TASK_NAME};
int[] toViewIds = new int[]{R.id.textViewUID, R.id.textViewSubTaskName};
SimpleCursorAdapter myCursorAdapter;
myCursorAdapter = new SimpleCursorAdapter(getBaseContext(), R.layout.custom_spinner_subtask_row, cursor, fromFieldNames, toViewIds, 0);
subTaskList.setAdapter(myCursorAdapter);
subTaskList.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(view.getContext(), "The position of the item clicked is " + position, Toast.LENGTH_LONG).show();
SharedPreferences sharedPreferences = getSharedPreferences("MyData1", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("position", Long.toString(id));
editor.commit();
Intent intent = new Intent();
intent.setClass(getApplicationContext(), SubTaskDetail.class);
intent.putExtra("position", Long.toString(id)); //position starts from 0, but in db row starts from 1
startActivity(intent);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
我在 activity.
的 onCreate() 方法中编写的微调器的完整代码
这是微调器的默认功能。当适配器绑定到 Spinner 时,Spinner 将 select 排在第 0 个位置
如果你真的想在初始化时阻止它,那么在 onitemselected
中以这种方式进行
check=check+1
if(check>1) {
// put your code
}
我有以下微调器代码。我没有收到任何错误,微调器正在工作,但我遇到了这个问题,即使我没有 selected 任何项目,onItemSelected 侦听器中的代码正在执行,但我不希望这种情况发生n 直到我 select 和微调器中的项目。请任何人告诉我为什么会这样。非常感谢。欢迎所有建议。提前致谢。
我的旋转器代码:
SQLiteDataBaseAdapter adapter = new SQLiteDataBaseAdapter(this);
Cursor cursor = adapter.getAllSubTaskData();
// Log.d("Pana", "The value of cursor is " +Integer.parseInt(String.valueOf(cursor.toString())));
String[] fromFieldNames = new String[]{SQLiteHelper.UID, SQLiteHelper.SUB_TASK_NAME};
int[] toViewIds = new int[]{R.id.textViewUID, R.id.textViewSubTaskName};
SimpleCursorAdapter myCursorAdapter;
myCursorAdapter = new SimpleCursorAdapter(getBaseContext(), R.layout.custom_spinner_subtask_row, cursor, fromFieldNames, toViewIds, 0);
subTaskList.setAdapter(myCursorAdapter);
subTaskList.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(view.getContext(), "The position of the item clicked is " + position, Toast.LENGTH_LONG).show();
SharedPreferences sharedPreferences = getSharedPreferences("MyData1", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("position", Long.toString(id));
editor.commit();
Intent intent = new Intent();
intent.setClass(getApplicationContext(), SubTaskDetail.class);
intent.putExtra("position", Long.toString(id)); //position starts from 0, but in db row starts from 1
startActivity(intent);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
我在 activity.
的 onCreate() 方法中编写的微调器的完整代码这是微调器的默认功能。当适配器绑定到 Spinner 时,Spinner 将 select 排在第 0 个位置
如果你真的想在初始化时阻止它,那么在 onitemselected
中以这种方式进行check=check+1
if(check>1) {
// put your code
}