2010-05-27 47 views
0

基於Searchable Dictionary示例我嘗試將其他數據放到不同的活動中。如何將Extra()放入可搜索的詞典中示例

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(); 
     } 
} 

在我的地圖類距離始終爲零,因爲distance.getSelectedItemPostion()獲取初始值。 如何在搜索建議中點擊額外數據? 謝謝

回答

1

您必須註冊距離微調器值更改的回調,並從那裏調用Map類活動的啓動意圖。

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();  
    } 
    } 
} 
+0

謝謝你的想法,但它不起作用。 首先,用戶在微調器中選擇一些設置,然後按下搜索按鈕並搜索某物。如果他按搜索結果,新的意圖應該開始。 隨着你想到新的意圖開始befor他可以選擇一個搜索結果。 – sirlunchalot 2010-05-31 00:25:36