내 안드로이드 응용 프로그램에서 레이아웃에 새로운 동적 회 전자를 추가하는 단추가 있습니다. 모든 생성 된 Spinner는 동일한 Array를 사용합니다.동적 회 전자 및 sharedpreferences
지금까지 어떤 작업을하고 있었는지, 만든 스피너 수를 저장하고 응용 프로그램을 다시 시작한 후에 다시 만들 수 있습니다. 하지만 sharedPreferences에 각 Spinner의 selectedPosition을 저장하고 싶습니다. 여기는 ForceClose Desaster에 머물러 있습니다 ...
모든 Spinner는 만들 때 ID를 저장하므로 저장할 수 있습니다. 이 ID로 설정되어있는 Position.
그래서 이것은 내가 무슨 짓을 :
public void addSpinner(){
LinearLayout AddLayout = (LinearLayout)findViewById(R.id.linearAddScroll);
spinner = new Spinner(this);
ArrayAdapter<?> adapt = ArrayAdapter.createFromResource(this,
R.array.Filter, android.R.layout.simple_spinner_item);
adapt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapt);
AddLayout.addView(spinner);
}
이는 회 전자를 만듭니다.
public void onClick(View v) {
addSpinner();
int ID = 1000+x;
spinner.setId(ID);
Toast.makeText(MatReporterActivity.this,"ID" + ID, 5)
.show();
x++;
}
ID를 설정하십시오.
x = settings.getInt("xsave", 1);
for(y = 1; y < x; y++){
addSpinner();
int ID = 1000+y;
Spinner s = (Spinner) findViewById(ID);
String ys= Integer.toString(ID);
Toast.makeText(MatReporterActivity.this,"ID" +ys, 5)
.show();
int yf = settings.getInt(ys, 1);
s.setSelection(yf);
}
그리고이 이동 중지() :
이
내가의 작성 방법에 할 것입니다SharedPreferences settings = PreferenceManager
.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("xsave", x);
for(y = 1; y < x; y++){
int ID = 1000+y;
Spinner s2= (Spinner) findViewById(ID);
int possS = s2.getSelectedItemPosition();
Toast.makeText(MatReporterActivity.this, "IDStop" + ID, 5)
.show();
String ys= Integer.toString(ID);
editor.putInt(ys, possS);
}
editor.commit();
}
나는에서 onCreate 방법의 논리적 문제가 있다고 생각하지만, 내가 ' 그것을 찾을 수 없습니다, 또한 웹에서 동적으로 생성 된 회 전자를 채우고 저장하는 방법을 찾지 못했습니다.
어쩌면 누군가가 아이디어를 가지고있을 것입니다. 덕분에 .
강제로 스택 추적 닫기? LogCat을 사용하십니까? 그렇지 않으면해야합니다. – Klaus