これは少し畳み込まれて聞こえるかもしれません。 私は1つのアクティビティに約15のスピナーを持ち、これらのスピナーごとに異なるメソッドを作成しました。次に、onCreateメソッドでメソッドを開始します。複数のスピナーのためのメソッドを作成しました - このデータを新しいアクティビティにどのように渡すのですか?
方法の例:
//Relative Position Spinner
public void relativePositionSpinner() {
Spinner relativePositionSpinner = (Spinner) findViewById(R.id.spinner_relativePosition);
ArrayAdapter relativePositionAdapter = ArrayAdapter.createFromResource(this, R.array.relativePosition, R.layout.spinner_item);
relativePositionSpinner.setAdapter(relativePositionAdapter);
//what happens when selected
relativePositionSpinner.setOnItemSelectedListener(this);
}
のOnCreateメソッド:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_hand);
//initiate all Spinners
relativePositionSpinner();
absolutePositionSpinner();
etc.
今、私が何をしたいボタンをクリックするだけで、他のアクティビティに各スピナーのデータを送信することです。私は私が意図してこの操作を行うことができることを知っていると、このようなボタン方式でputExtraを使用して:
public void openHandSummary() {
//Find the Button that gives option to enter new hand
Button handInputButton = (Button) findViewById(R.id.hand_input_button);
//set a click listener on Hand Analyzer Button
handInputButton.setOnClickListener(new View.OnClickListener() {
//below code will be executed when the new Hand Button is clicked
@Override
public void onClick(View view) {
Intent handSummaryIntent = new Intent(NewHandActivity.this, HandSummaryActivity.class);
handSummaryIntent.putExtra("RelPosString", WHATTOENTERHERE??)
startActivity(handSummaryIntent);
}
});
}
私はボタンにそれらを置くために私のスピナーのうち、値/変数を取得する方法を知りませんが/インテントメソッド? SpinnerメソッドでStringを作成すると、Buttonメソッドでこれにアクセスできなくなるためです。
私はあまりにも多くの方法があるように感じる? 1つのメソッドから別のメソッドにデータを渡す方法はありますか、いくつかのメソッドを取り消す必要がありますか?これを設定する最も簡単な方法は何ですか?
私はonItemSelectedを使っていくつかのトーストを作りました。 OnItemSelectedを使って変数を作成したり、別のアクティビティへのデータ転送を開始することはできますか?
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
TextView myText = (TextView) view;
switch (parent.getId()) {
case R.id.spinner_relativePosition:
makeText(NewHandActivity.this, "Relative Position is " + myText.getText(), Toast.LENGTH_SHORT).show();
break;
case R.id.spinner_absolutePosition:
makeText(NewHandActivity.this, "Absolute Position is " + myText.getText(), Toast.LENGTH_SHORT).show();
break;
私は、コーディングに非常に新しいです、と私はちょうど私がスピナー法を取得する方法のロジック、ボタン/ iniate方法と一緒に仕事をするOnItemSelected方法を把握し、交換変数することはできません。誰かが私を正しい方向に向けることができれば感謝します。すでに1日ほどインターネットを閲覧しているが、成功していない。
'relativePositionSpinner'をどのメソッドの外にもグローバルに宣言することをお勧めします。次に、あなたの活動のどこでもこれを使うことができます。 String [] relativePositionArray = getResources()。getStringArray(R.array.relativePostion); Log.i(TAG、relativePositionArray [relativePositionSpinner.getSelectedItemPosition()]); ' –