저는 Android가 처음이므로 정보 탐색 및 실험을 실험하고 있습니다. 나는이 응용 프로그램의 기본보기에 회 전자를 성공적으로 넣었지만 다른보기 (goFilter를 실행하는 butoton을 통해)를 클릭하고 goHome을 실행하는 단추를 통해 복귀하면 대신 자리 표시자가 나타납니다. GoHome이 회 전자 클래스 정보를로드하지 않는 것과 관련이 있다고 확신하지만, 어떻게 다르게해야하는지 모르겠습니다.다른 곳에서 기본보기로 돌아 가면 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