2012-10-15 53 views
0

我是Android开发新手。与spinners之间的数据传输

进出口试图从多个旋转器(搜索活性)选择的数据传输到另一个活动(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()); 

文本不会改变。 我已经尝试了网络上的任何教程,并在这里寻找一个解决方案的小时.. 任何人都可以帮忙吗?

回答

0

你甚至不需要你的微调监听器。只需将您的按钮的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); 
    } 
});