2016-10-25 58 views
0

我有一個應用程序,我正在Android Studio中工作。我列出了50個州的名單。搜索字符串的第一個字符從數組中拉出項目

用戶可以輸入一個字母的文字,然後按「搜索」。 一旦他們按下搜索,它應該顯示以字母開頭的所有狀態。例如,如果他們搜索「k」,他們應該看到堪薩斯州和肯塔基州。 這些結果應顯示在微調框中。

我知道我需要使用

string_name.charAt(0);

在我的代碼中的某處,但我不確定是否需要使用它。

目前,當我運行我的應用程序時,無論我搜索什麼字母,應用程序都會在微調器中顯示「阿拉巴馬州」,然後當您單擊微調器的下拉菜單時,它會顯示所有狀態。

任何幫助將不勝感激,因爲我相當新的Java和StackOverflow,所以我希望我提出了我的問題清楚,適當。感謝任何能夠幫助的人。

這是我的Java代碼的一部分。

public void buttonOnClick(View v) { 
     Button button = (Button) v; 
     Spinner spinner = (Spinner) findViewById(R.id.spinner); 


     ArrayList states = new ArrayList(); 
     states.add("Alabama"); 
     states.add("Alaska"); 
     states.add("Arizona"); 
     states.add("Arkansas"); 
     states.add("California"); 
     states.add("Colorado"); 
     states.add("Connecticut"); 
     states.add("Delaware"); 
     states.add("Florida"); 
     states.add("Georgia"); 
     states.add("Hawaii"); 
     states.add("Idaho"); 
     states.add("Illinois"); 
     states.add("India"); 
     states.add("Iowa"); 
     states.add("Kansas"); 
     states.add("Kentucky"); 
     states.add("Louisiana"); 
     states.add("Maine"); 
     states.add("Maryland"); 
     states.add("Massachusetts"); 
     states.add("Michigan"); 
     states.add("Minnesota"); 
     states.add("Mississippi"); 
     states.add("Missouri"); 
     states.add("Montana"); 
     states.add("Nebraska"); 
     states.add("Nevada"); 
     states.add("New Hampshire"); 
     states.add("New Jersey"); 
     states.add("New Mexico"); 
     states.add("New York"); 
     states.add("North Carolina"); 
     states.add("North Dakota"); 
     states.add("Ohio"); 
     states.add("Oklahoma"); 
     states.add("Oregon"); 
     states.add("Pennsylvania"); 
     states.add("Rhode Island"); 
     states.add("South Carolina"); 
     states.add("South Dakota"); 
     states.add("Tennessee"); 
     states.add("Texas"); 
     states.add("Utah"); 
     states.add("Vermont"); 
     states.add("Virginia"); 
     states.add("Washington"); 
     states.add("West Virginia"); 
     states.add("Wisconsin"); 
     states.add("Wyoming"); 

     final 
     ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, states); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     spinner.setAdapter(adapter); 
     spinner.setOnItemSelectedListener(this); 

    } 


    @Override 
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 

    } 

    @Override 
    public void onNothingSelected(AdapterView<?> parent) { 

    } 
} 
+1

我注意到你列出了「印度」而不是「印第安納州」。 –

+0

謝謝你接受! –

回答

0

當單擊該按鈕時,你至少需要獲得在輸入​​框中的值,然後選擇什麼根據第一個字母添加到該ArrayList中。

我沒有看到您的代碼獲取輸入文本。

0

好,你也可以使國家字符串的子串在一個for循環和測試與input.The子工程與像 結果的開始和結束變量= states.substring(0,1),因爲這是將只保留第一個字母

相關問題