2016-10-25 7 views
0

私はAndroid Studioで作業しているアプリケーションを持っています。私は50州のリストを持つ配列を持っています。文字列の最初の文字を検索して配列からアイテムを引き出す

ユーザーは1文字の文字を入力でき、「検索」を押す必要があります。 検索を押すと、文字で始まるすべての状態が表示されます。たとえば、「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ループで状態文字列の部分文字列を作成し、入力でテストすることもできます。部分文字列は、 のような開始変数と終了変数で動作します。結果= states.substring(0,1)最初の文字のみを保持します

関連する問題