私は1つのスピナーを取ったアクティビティを作成しました。今度は、スピナー内の選択した項目のデータ(文字列名または位置int)を1つのlistFragmentに渡したいとします。私はBundleとgetActivity()をフラグメントに使用しようとしましたが、データは渡されません。私はこれが未熟だが、私はAndroidプログラミングの初心者です。ありがとうございました! アクティビティからSpinnerのデータまたは位置をListFragmentに渡す方法
public class HighScore extends Activity {
TextView t;
RadioGroup r;
int pos,pos1,value;
ArrayAdapter<CharSequence> adapter, adapter1;
Spinner spinner,spinner1;
String[] classic,arcade;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.highscore);
r = (RadioGroup) findViewById(R.id.radioGroup);
spinner = (Spinner) findViewById(R.id.spinner);
classic = new String[]{"Easy", "Hard"};
arcade = new String[]{"30", "60", "90"};
adapter = new ArrayAdapter<CharSequence>(getBaseContext(), android.R.layout.simple_spinner_item, classic);
adapter1 = new ArrayAdapter<CharSequence>(getBaseContext(), android.R.layout.simple_spinner_item, classic);
spinner.setVisibility(View.VISIBLE);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
r.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
pos = r.indexOfChild(findViewById(checkedId));
switch (pos) {
case 0:
// Create an ArrayAdapter using the string array and a default spinner layout
adapter = new ArrayAdapter<CharSequence>(getBaseContext(), android.R.layout.simple_spinner_item, classic);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
spinner.getOnItemSelectedListener();
break;
case 1:
// Create an ArrayAdapter using the string array and a default spinner layout
adapter = new ArrayAdapter<CharSequence>(getBaseContext(), android.R.layout.simple_spinner_item, arcade);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
break;
}
}
});
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
getFragmentManager().beginTransaction()
.replace(R.id.fragment1, Fragment.instantiate(getBaseContext(), FragEasy.class.getName())).commit();
break;
case 1:
getFragmentManager().beginTransaction()
.replace(R.id.fragment1, Fragment.instantiate(getBaseContext(), FragHard.class.getName())).commit();
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
フラグメントトランザクションの 'setArgument()'メソッドについて読む –