私は、以前のスピナー選択に基づいて動的に変更するカップルスピナーを取得しようとしています。リストを更新できますが、adapter.clear()を使用するとクラッシュします。あなたは、私はスピナーが作成したかではないが、私は選択を変更するとき、それは死ぬされているかどうかを判断するブール値のフラグを使用してみました見ることができるようにadapter.clear()がアンドロイドアプリをクラッシュさせます
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class CarKitsAct extends Activity{
ArrayAdapter<String> adMod, adEd;
String[] models, edition;
Boolean initSpMan = true;
Boolean initSpMod = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.carkitslayout);
// Construct TextViews
TextView textMan = (TextView) findViewById(R.id.textMan);
textMan.setText(R.string.selectmanufacturer);
TextView textMod = (TextView) findViewById(R.id.textMod);
textMod.setText(R.string.selectmodel);
TextView textEd = (TextView) findViewById(R.id.textEd);
textEd.setText(R.string.selectedition);
// Construct Spinners
Spinner spMan = (Spinner) findViewById(R.id.spMan);
Spinner spMod = (Spinner) findViewById(R.id.spMod);
Spinner spEd = (Spinner) findViewById(R.id.spEd);
// Construct Manufacturer Spinner Adapter
ArrayAdapter<CharSequence> adMan;
adMan = ArrayAdapter.createFromResource(this, R.array.cars, android.R.layout.simple_spinner_item);
adMan.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spMan.setAdapter(adMan);
// Set initial values for model and edition spinners
models = getResources().getStringArray(R.array.AC);
edition = getResources().getStringArray(R.array.ACAcceca);
//Construct adapters for models and editions
adMod = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, models);
adMod.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adMod.setNotifyOnChange(true);
spMod.setAdapter(adMod);
adEd = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, edition);
adEd.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adEd.setNotifyOnChange(true);
spEd.setAdapter(adEd);
// Set up listeners for item selection
spMan.setOnItemSelectedListener(new ManItemSelectedListener());
}
public class ManItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
if (initSpMan == true) {
initSpMan = false;
} else {
models = getResources().getStringArray(2130968577 + pos);
adMod.clear();
adMod.addAll(models);
adMod.notifyDataSetChanged();
}
}
public void onNothingSelected(AdapterView<?> parent) {}
}
}
:ここに私のコードです。
例えばArrayAdapterクラスhereのコードを表示することができます。生成されているエラーを確認すると、診断が容易になります。 – Gophermofur