私はAndroidが初めてで、情報の操作と表示を試しています。私は正常にこのアプリケーションのメインビューにスピナーを置くが、別のビュー(goFilterを実行するbutoton経由)をクリックしてgoHomeを実行するボタンを介して戻ると、代わりにプレースホルダが表示されます。私はgoogleがスピナークラスの情報をロードしていないことと関係があると確信していますが、それをどうやってやるのか分かりません。他の人からメインビューに戻ったときにAndroidのスピナーが表示されない
提案? .javaコード:
package com.example.hellorelative;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.AdapterView;
public class HelloRelative extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
public class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
Toast.makeText(parent.getContext(), "The planet is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
public void goFilter(View view) {
setContentView(R.layout.c_filter);
}
public void goHome(View view) {
setContentView(R.layout.main);
}
}
関連性はありませんが、内部クラスを静的(おそらくは非公開)として宣言することをお勧めします - 'private static class MyOnItemSelectedListener ...' – MByD