spinner의 sharedpreferances와 관련된 문제가 있습니다. 두 개의 스피너가 있습니다. 공유 우선 순위로 내 스피너를 저장하고 싶습니다. 첫 번째 회 전자는 저장할 수 있지만 두 번째는 저장할 수 없습니다. sombody는 제발 나를 도울 수 있습니다. 덕분에 . 스피너에서 sharedpreferances 문제가 있습니다. 스피너 2 개가 있습니다. 공유 우선 순위로 내 스피너를 저장하고 싶습니다. 첫 번째 스피너는 저장할 수 있지만 두 번째는 저장할 수 없습니다. sombody는 제게 에게 감사합니다. 다음 모두 동일Spinner의 SharedPreferances
을 : 다음
final String KEY_SavedSel = "Saved Selection";
final String KEY_SavedSe2 = "Saved Selection";
변경을 같이
public class MyAndroidAppActivity extends AppCompatActivity {
String india[]={"humains","elfes","hobbits"};
String m[]={"PUNE","Mumbai","yoo"};
String b[]={"Arwen","Elrond","Galadriel","Legolas"};
String u[]={"sup","trankill","Conor","Mcgregor","Nate Diaz"};
Spinner s,s1,s2;
private Button btnSubmit;
SharedPreferences mypref;
final String KEY_SavedSel = "Saved Selection";
final String KEY_SavedSe2 = "Saved Selection";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_android_app);
s=(Spinner)findViewById(R.id.spinner1);
s1=(Spinner)findViewById(R.id.spinner2);
btnSubmit = (Button) findViewById(R.id.btnSubmit);
final ArrayAdapter<String>ia=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,india);
final ArrayAdapter<String>ma=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,m);
final ArrayAdapter<String>ba=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,b);
final ArrayAdapter<String>ua=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,u);
ia.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(ia);
mypref = getPreferences(MODE_PRIVATE);
int prefsInt = mypref.getInt(KEY_SavedSel, -1);
int prefsInt1 = mypref.getInt(KEY_SavedSe2,-1);
if(prefsInt != -1){
s.setSelection(prefsInt);
}
if(prefsInt1 != -1){
s1.setSelection(prefsInt1);
}
s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
switch (parent.getId()){
case R.id.spinner1:{
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.putInt(KEY_SavedSel, position);
editor.putInt(KEY_SavedSe2, position);
editor.commit();
if(india[position].equals("humains")){
ma.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter(ma);
}
if(india[position].equals("elfes")){
ba.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter(ba);
}
if(india[position].equals("hobbits")){
ua.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter(ua);
}
}
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
btnSubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MyAndroidAppActivity.this,
"Resultat : " +
"\nSpinner 1 : "+ String.valueOf(s.getSelectedItem()) +
"\nSpinner 2 : "+ String.valueOf(s1.getSelectedItem()),
Toast.LENGTH_SHORT).show();
}
});
}
}
업데이트 된 답변을 확인 했습니까? –
예. 작동하지 않습니다. – momo