0

私はAndroid開発の初心者です。

選択したデータを複数のスピナー (検索アクティビティ) から別のアクティビティ (JSON 検索結果アクティビティ) に転送しようとしています

最後に、検索結果を開くボタンがあります

検索アクティビティ: 私は Java スピナーを持っています

ArrayAdapter<CharSequence> whatlist = ArrayAdapter.createFromResource(this, 
R.array.whatlist, android.R.layout.simple_spinner_item);
whatlist.setDropDownViewResource(R.layout.spinner_style);
spwhat = (Spinner) findViewById(R.id.spWhat);
spwhat.setAdapter(whatlist);
spwhat.setOnItemSelectedListener(new MyOnItemSelectedListener());

および MyOnItemSelectedListener

   public class MyOnItemSelectedListener implements OnItemSelectedListener {
        public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)  {

            strs = new Bundle();
            Intent i = new Intent(SearchActivity.this, SearchResult.class);
            strs.putString("setwhat", parent.getItemAtPosition(pos).toString());
            i.putExtras(strs);

        }
        public void onNothingSelected(AdapterView<?> arg0) {}
    }

これがボタンです

btnsearch = (Button)findViewById(R.id.btnSearch);
btnsearch.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {

            Intent ia = new Intent(SearchActivity.this, SearchResult.class);
            SearchActivity.this.startActivity(ia);
        }
    });

これが検索結果に

  Bundle extras = getIntent().getExtras();
  if(extras!=null){


            Integer item = extras.getInt("setwhat");
            //Use a switch(item) here to switch to different links based on selection
            TextView tv = (TextView) findViewById(R.id.tvtv);
            tv.setText("Another Activity, Item is :" + item.toString());

テキストは変更されません。私はウェブ上のチュートリアルを試し、ここで何時間も解決策を探しました..誰でも助けてくれますか?

4

1 に答える 1

1

スピナーのリスナーも必要ありません。ボタンの onclick を次のように変更するだけです。

btnsearch = (Button)findViewById(R.id.btnSearch); 
btnsearch.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {

        Spinner spwhat = (Spinner) findViewById(R.id.spWhat);

        Intent ia = new Intent(SearchActivity.this, SearchResult.class);
        ia.putExtra("setwhat", spwhat.getSelectedItem().toString());
        startActivity(ia);
    }
});
于 2012-10-15T23:11:14.037 に答える