MySQLの項目を含むスピナーを作成しました。 MySQLでは、同じ値を持つ2つのアイテムがあります。スピナーで私は2つの重複を持っています。 2番目のものを選択しようとすると、最初の位置(これは正しくありません)が得られます。最初の位置を選択すると、最初の位置が得られます(これは正しい)。Android Spinner重複した項目は、最初に重複した項目の位置のみを返します。
コード:私は2番目を選択しようとすると、
sp.setVisibility(View.VISIBLE);
//BIND
final ArrayAdapter adapter = new ArrayAdapter(c, android.R.layout.simple_spinner_dropdown_item, optochtenarray){
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View itemView = super.getDropDownView(position, convertView, parent);
if (position == mSelectedIndex) {
itemView.setBackgroundColor(Color.rgb(56,184,226));
}
else {
itemView.setBackgroundColor(Color.TRANSPARENT);
}
return itemView;
}
};
sp.setAdapter(adapter);
//call ID
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View view, int position, long id) {
String selectedItem = sp.getSelectedItem().toString();
if (selectedItem != "Kies..."){
//kleur veranderen
mSelectedIndex = sp.getSelectedItemPosition();
Log.e("selectPosition", Integer.toString(mSelectedIndex));
Log.e("ID", idarray.get(position));
//naar de volgende pagina met de 'ID'
Intent myIntent = new Intent(c, gekozenOptocht.class);
myIntent.putExtra("ID", idarray.get(position)); //Optional parameters
c.startActivity(myIntent);
sp.setSelection(adapter.getPosition("Kies..."));
}
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
は、なぜ私は最初の1の位置を取得していますか?
'selectedItem.equals(" Kies ... ")' –