Java 如何在可搜索字典示例中使用putExtra()

Java 如何在可搜索字典示例中使用putExtra(),java,android,Java,Android,基于这个示例,我尝试将额外的数据放到不同的活动中 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Spinner distance = (Spinner) findViewById(R.id.distanceSpinner); ArrayAdapter<CharSeque

基于这个示例,我尝试将额外的数据放到不同的活动中

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Spinner distance = (Spinner) findViewById(R.id.distanceSpinner);
    ArrayAdapter<CharSequence> adapterDistance = ArrayAdapter.createFromResource(
                this, R.array.distance, android.R.layout.simple_spinner_item);
    adapterDistance.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    distance.setAdapter(adapterDistance);
    Intent intent = getIntent();

    if (Intent.ACTION_VIEW.equals(intent.getAction())) {         
            // handles a click on a search suggestion; launches activity to show word
         mapIntent = new Intent(this, Map.class);
         mapIntent.setData(intent.getData());         
         mapIntent.putExtra("Distance", distance.getSelectedItemPosition());
            startActivity(mapIntent);
            finish();
        }
}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
微调器距离=(微调器)findViewById(R.id.distanceSpinner);
ArrayAdapter adapterDistance=ArrayAdapter.createFromResource(
这个,R.array.distance,android.R.layout.simple\u微调器\u项);
adapterDistance.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
距离。设置适配器(适配器距离);
Intent=getIntent();
if(Intent.ACTION_VIEW.equals(Intent.getAction()){
//处理对搜索建议的单击;启动活动以显示word
mapIntent=新意图(此,Map.class);
setData(intent.getData());
putExtra(“距离”,Distance.getSelectedItemPosition());
星触觉(mapIntent);
完成();
}
}
在我的Map类中,距离始终为零,因为Distance.getSelectEditePostion()获取初始化值。 我如何通过单击搜索建议来输入额外数据?
谢谢

您必须在距离微调器的值更改时注册回调,并从那里调用开始地图类活动的意图

private OnItemSelectedListener itemSelectedListener = new OnItemSelectedListener() {
  @Override
  public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
    if (parent.getId() == R.id.distanceSpinner) {
      mapIntent = new Intent(this, Map.class);
      mapIntent.setData(intent.getData());         
      mapIntent.putExtra("Distance", pos);
      startActivity(mapIntent);
      finish();      
    }
  }
}
private-OnItemSelectedListener项目SelectedListener=new-OnItemSelectedListener(){
@凌驾
已选择公共位置(AdapterView父项、视图、整数位置、长id){
if(parent.getId()==R.id.distanceSpinner){
mapIntent=新意图(此,Map.class);
setData(intent.getData());
mapIntent.PUTETRA(“距离”,位置);
星触觉(mapIntent);
完成();
}
}
}

谢谢你的建议,但它不起作用。首先,用户在微调器中选择一些设置,然后按下搜索按钮并搜索一些内容。如果他按下搜索结果,新的意图就会开始。根据你的想法,新的意图在他选择搜索结果之前就开始了。