2013-01-03 48 views
2

在我的應用程序中有一個活動有兩個AutoCompleteTextView。我從他們兩個的建議列表中選擇值,然後按OK按鈕.OK按鈕導致顯示AutoCompleteTextView值的結果基礎的新活動。但是,如果現在按下按鈕並返回到具有兩個AutoCompleteTextView文本視圖的活動,他們都開始顯示建議列表。我希望他們不要顯示建議列表,因爲建議列表只包含單個項目,它們已經在textViews中。我試圖設置適配器NULL,然後設置回原始數組,但這並不能阻止AutoCompleteTextView顯示建議列表。如何在活動onResume()被調用時停止AutoCompleteTextView顯示建議?

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.find_path); 
     initializeElements(); 
     GetAllPathList(); 
     adapter = new ArrayAdapter<Path>(this, R.layout.dropdown_list_item, 
       pathArray); 
     startPathAutocomplete.setAdapter(adapter); 
     endPathAutocomplete.setAdapter(adapter); 
    } 
public class Path { 

    private String _id; 
    private String pathName; 
    private String pathLine; 

    public Station(String _id, String pathName, String pathLine) { 
     this._id = _id; 
     this.pathName= pathName; 
      this.pathLine = pathLine; 
    } 
//getter setter methods for variables 

} 
@Override 
    protected void onResume() { 
     super.onResume(); 
     stationArray = null; 
     adapter.notifyDataSetChanged(); 
    } 
+0

你應該設置的ArrayList NULL這個 –

+0

@DixitPatel設置的ArrayList爲NULL活動的的onResume()方法,但建議列表仍然顯示出來。可能是什麼問題? – user818455

+0

在此處發佈完整代碼.. –

回答

0

當你從另一個Activity的onResume()方法背面被調用。所以,無論你想設置爲你的Adapter你應該將其設置在onResume()方法。只需通知您的適配器數據已更改。這就是它:)的pathArray和stationArray是

EDITED思維相同

@Override 
protected void onResume() { 
    super.onResume(); 
    stationArray = null; 
    adapter = new ArrayAdapter<Path>(this, R.layout.dropdown_list_item, 
      stationArray); 
    adapter.notifyDataSetChanged(); 
    startPathAutocomplete.setAdapter(adapter); 
    endPathAutocomplete.setAdapter(adapter); 
} 
+0

好吧我正在嘗試這 – user818455

+0

我已經編輯我的代碼根據你...但它仍然不工作 – user818455

+0

看到我編輯的答案.. – BBdev

相關問題