Простое обнаружение смартфона

Хорошо, я видел пару сценариев обнаружения мобильных устройств, которые предназначены для идентификации всех мобильных телефонов, кто-нибудь придумал простой сценарий обнаружения смартфонов?

I ' Я устанавливаю флажки для контактов (содержащихся в String []) и могу вернуть значения в порядке. Поскольку у некоторых людей есть куча контактов, я хотел ...

Хорошо, у меня есть ListView с множественным выбором, который отлично работает. Я устанавливаю флажки для контактов (содержащихся в String []) и могу вернуть значения в порядке. Поскольку у некоторых людей есть несколько контактов, я хотел создать панель поиска наподобие стандартной для телефонной книги Android. Я создал EditText и выровнял его над своим списком. Я нашел код фильтрации здесь, в StackOverflow, и он отлично работает.

Моя проблема:

Когда вы отфильтровываете чье-то имя и выбираете имя, когда вы либо возвращаетесь назад из EditText, либо продолжаете вводить текст, правильная позиция выбранного вами имени не сохраняется. Например, если я начну набирать «Адам», перейду к «Аде» и выберу его, если я вернусь назад, чтобы ввести «Кэрол», будет выбрана любая позиция «Ада». Он собирает место, в котором находился «Адам» после щелчка (скажем, 2), и когда список восстанавливается, проверяет эту позицию (2), даже если Адама там больше нет. Мне нужен способ собрать имя ... затем, когда список восстанавливается или выполняется повторный поиск, проверяется ИМЯ Адам, а не ПОЛОЖЕНИЕ, в котором раньше был Адам. У меня нет абсолютно никаких идей, кроме создания множества массивов, и мне действительно нужна помощь. Ниже приведен фрагмент кода, который я использую:

    @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contacts_list);


        myListView = (ListView)findViewById(android.R.id.list);
        search_EditText = (EditText) findViewById(R.id.search_EditText);
        search_EditText.addTextChangedListener(filterTextWatcher);

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, ContactsList); 
        setListAdapter(adapter);

        myListView.setItemsCanFocus(false);
        getListView().setChoiceMode(2);
        myListView.setTextFilterEnabled(true);
        myListView.setFastScrollEnabled(true);
        myListView.invalidate();
}

    private TextWatcher filterTextWatcher = new TextWatcher() {
        public void afterTextChanged(Editable s) {

        }

        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {

        }

        public void onTextChanged(CharSequence s, int start, int before,
                int count) {

            adapter.getFilter().filter(s);

        }

    };
11
задан dwirti 4 November 2011 в 19:13
поделиться