簡體   English   中英

Android:比較字符串輸入(edittext)和arraylist

[英]Android: compare string input (edittext) with arraylist

我想將我的輸入字符串與另一個類的數組列表進行比較,因此我使用了搜索字段來對其進行比較。 如下所示,它工作正常。

輸入類別

public class Suche extends Activity{

private Button zumergebnis;
final Intent zum_ergebnis = new Intent("android.intent.action.activity_ergebnis");

static String mystring;

static void setstring(String textView){
    mystring = textView;
}


@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_suche);



    zumergebnis = (Button) findViewById(R.id.zumergebnis);

        zumergebnis.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v){

            EditText searchinput = (EditText) findViewById(R.id.editText1);
             String from = searchinput.getText().toString(); 

             setstring(from);

             startActivity(zum_ergebnis);
            }
        });}

}

比較類

public class Ergebnis extends Suche
{

private TextView textView;

static String getstring(){
    return mystring;
}

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ergebnis);


    textView = (TextView) findViewById(R.id.textView2);
    textView.setText(mystring);

    class2 Object = new class2();
    final ArrayList<String> word = Object.method2();   

    ListAdapter listenAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, word);

    ListView mystringsView = (ListView) findViewById(R.id.listView1);
    mystringsView.setAdapter(listenAdapter);

            textView = (TextView) findViewById(R.id.textView2);
            String searchField = (mystring);
         for (String s : word) 
         {
               if (searchField.toString().contains(s)) 
                       {
                            textView.setText("Your word"+mystring+"exists in the list");
                        }
                       else
                       {
                        textView.setText("Word"+mystring+"doesnt exist");
                        continue;
                       }
                    break;         
         }          

 }
}

清單類

    public ArrayList method2(){ 
    ArrayList<String> word = new ArrayList<String>();

    word.add("uno");
    word.add("dos");
    word.add("tres");

    return word;
    }

}

但是添加第二個時:

清單類

    public ArrayList method2(){ 
    ArrayList<String> word = new ArrayList<String>();

    word.add("uno; one");
    word.add("dos; two");
    word.add("tres; three");

    return word;
    }

}

“列”應用程序停止。

有人知道如何搜索第二個條目嗎?

對於每個對該問題的解決方案感興趣的人,for循環都必須更改為:

 for (int i = 0; i < word.size(); i++) {
                if (word.get(i).contains(searchField.trim())) {
                    textView.setText("Your input '" +mystring+ "' exists.");
                }
                else

向arraylist添加一些條目:

    public ArrayList method2(){ 
    ArrayList<String> word = new ArrayList<String>();
    word.add("uno; one");
    word.add("dos; two");

    return word;
    }

現在工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM