拡張するリストにいくつかの項目をリストしましたがActivity
、リストはカスタムアダプターを使用してリストされています。私の質問は、これが私のxmlファイルで、このスピナーにいくつかのアイテムを追加したことです。スピナーの値を次のレイアウトに取得するにはどうすればよいですか。知ってる人いたら教えて?よろしくお願いします。
3 に答える
1
ここであなたが実際に何を求めているのかは明確ではありませんが、推測として、あなたが求めている可能性が 2 つあります。
- スピナーから現在選択されている値を取得する方法
- 次のレイアウトでスピナーに同じ値を設定する方法
1.十分に単純です
((Spinner)findViewById(R.id.spinner1)).getSelectedItem()
スピナーで選択されたオブジェクトを返します。
- 少し複雑です。提供されたデータのどのインデックスが getSelectedItem() から取得した結果に対応するかを判断する必要があります。たとえば、文字列の配列がある場合は、インデックスが見つかるまで検索してから設定できます。それを新しいスピナーに。
例えば:
String[] options = new String[] {"One","Two","Three","Four"};
String val = (String)((Spinner)findViewById(R.id.spinner1)).getSelectedItem();
//.......pass this to a layout/activity etc.........
for (int i=0; i<options.length; i++)
{
if (options[i].equals(test))
{
((Spinner)findViewById(R.id.spinner2).setSelection(i);
break;
}
}
しかし、あなたの最善の策は、あなたが求めていることをより明確に説明することです.
于 2011-09-21T09:34:36.970 に答える
1
まず、使用してスピナーからデータを選択する必要があります
spinnerobject.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id)
{
Spinner spinnerobject = (Spinner) findViewById(R.id.Spinner02);
string value = (String)spinnerobj.getSelectedItem();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
次に、それを次のアクティビティに送信するためにインテントを使用する必要があります..
Use
Intent.putExtra(..):
intent.putExtra("keyName", "somevalue");
This method is overloaded and takes various types as second argument: int, byte, String, various arrays..
To get the data out use appropriate getXYZExtra(). For String this is:
getStringExtra(String keyName)
于 2011-09-21T09:35:53.660 に答える
0
まず、あるレイアウトから 2 番目のレイアウトではなく、1 つのアクティビティから 2 番目のアクティビティに値を渡すことができます :: 1 つのアクティビティから 2 番目の使用に値を渡す必要がある場合
最初の活動::
activity.putExtra("lastpage", lastscore5);
*ここで最後のページは、アプリケーションに固有のキーです
2 番目のアクティビティ::
Intent i1 = getIntent();
var = i1.getIntExtra("lastpage", 1);
于 2011-09-21T09:23:29.027 に答える