1

私の配列は{"SamsungTab"、 "Samsung Note"、 "Samsung Galaxy"、 "Samsung Galaxy Pro"、 "Nokia Lumia"、 "Nokia 5130"、"SonyXperia"}のようなものです。GALAXYと入力し、[ GO ]ボタンをクリックします。次のアクティビティリストビューにSamsung Galaxy、 SamsungGalaxyProのみを表示します。

4

2 に答える 2

2

それを行うにはいくつかの方法があります。これが1つの方法で、次のようなカスタムメソッドを作成できます。

 public ArrayList<String> getSearchedItems(String searchString){
 ArrayList<String>  list = new ArrayList<String>();

 for(int i = 0; i<array.length ;i++) { // array is the String array or list which contains all the Phone model names you want to search in.
  if((array[i].toLowerCase()).contains(searchString.toLowerCase())) { // contains method will check if user enterred string is available in your Model names
    list.add(array[i]);
    }
 }
 return list; // list of strings/names containing search String.
}

このメソッドは、移動ボタンを押すか、次のアクティビティから呼び出します。名前のリストを取得します。

于 2013-02-11T05:04:44.010 に答える
0

これを試して、

  public class MainActivity extends Activity {

ArrayList<String> list = new ArrayList<String>();

private EditText searchEdt;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    // making it full screen
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_ugsimply_beta);
    list.add("Samsung Tab");
    list.add("Samsung Note");
    list.add("Nokia Lumia");
    list.add("Nokia 5130");
    list.add("Sony Xperia");
    searchEdt = (EditText) findViewById(R.id.searchEdt);
    searchEdt.addTextChangedListener(new TextWatcher() {

        private int textlength;
        private ArrayList<String> arrayList_sort = new ArrayList<String>();

        public void afterTextChanged(Editable s) {
            // Abstract Method of TextWatcher Interface.
        }

        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // Abstract Method of TextWatcher Interface.
        }

        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            textlength = searchEdt.getText().length();
            if (arrayList_sort != null)
                arrayList_sort.clear();

            for (int i = 0; i < list.size(); i++) {

                if (textlength <= list.get(i).toString().length()) {

                    if (searchEdt
                            .getText()
                            .toString()
                            .equalsIgnoreCase(
                                    (String) list.get(i).toString()
                                            .subSequence(0, textlength))) {
                        arrayList_sort.add(list.get(i));
                        Log.d("TAG", "log" + arrayList_sort.size());
                    }
                }
            }

        }
    });

}

}

検索されたアイテムが表示されますarrayList_sort。この配列リストを別のリストに配置しますActivity

Intent i = new Intent(MainActivity.this,NextActivity.class);

i.putStringArrayListExtra("arraylist", arrayList_sort);
startActivity(i);
于 2013-02-11T05:52:32.040 に答える