0

私がやろうとしているのは、リストビューから値を選択するようにユーザーに求めていることです。その後、ユーザーがデフォルトで選択したスピナーを持つ別の画面にリダイレクトされます。スピナーのデフォルトに関するかなりの数の投稿を読みましたが、別の画面からの情報の取得は含まれていませんでした。とにかく試しましたが、機能しませんでした。

これは、WorkEntryScreenActivity.javaから文字列を渡す方法です。

//inside onCreate
mListView.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> myAdapter, View myView, 
                        int myItemInt, long mylng) {
                  selectedFromList = (String) (mListView.getItemAtPosition(myItemInt));
                  top10 = true;
                  call(top10);  }

            });


//outside onCreate
protected void call(boolean top10){
    if(top10) {
    Intent i = new Intent(this, WorkEntryActivity.class);   
        i.putExtra("FromTab", "true");
        i.putExtra("workRequest",selectedFromList);
        startActivity(i);
        finish();
    }
   }

他のJavaファイルでWorkEntryActivity.java

//get the string
workRequestFetched = extras.getString("workRequest");

//This is where I need help
ArrayList<String> workRequestAdded = new ArrayList<String>();
        workRequestSpinner = (Spinner) findViewById(R.id.workRequestSpinner);

        if(workRequestFetched != null){

            workRequestAdded.add(workRequestFetched);
        }

        ArrayList<String> workRequests = ServiceCall.workRequests;

        workRequestAdded.addAll(workRequests);

        final ArrayAdapter<String> workRequestAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item,
                 workRequestAdded);

        workRequestAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);


        workRequestSpinner.setAdapter(workRequestAdapter);
4

2 に答える 2

2

私の記憶が正しければ、スピナーのデフォルトオプションは、それに関連付けられた文字列配列の最初のオプションです。workRequestを文字列配列の最初のオプションにする場合は、デフォルトのオプションにする必要があります。

編集:グーグルした後、プログラムでres/Strings.xmlを変更できないようです。ただし、関連するJavaファイルで定義された文字列配列をスピナーにリンクする方法がない場合は驚きます。

于 2012-06-15T14:24:21.097 に答える
2

myAdapまず、を使用してアダプタを反復処理しmyAdap.getItem(position)、アダプタアイテムのどの文字列が文字列と一致するかを確認する必要がありますworkRequest。そのアイテムをフェッチできるようになったら、を使用してデフォルトの選択を設定できますworkRequestSpinner.setSelection(THE_POSITION_OF_MATCHED_STRING)

答えがお役に立てば幸いです。

于 2012-06-15T14:38:03.763 に答える