Флажок в макете ListView имеет очень кратковременную память о нажатии - PullRequest
0 голосов
/ 09 февраля 2012

Приведенный ниже код для отображения имен контактов работает довольно хорошо:

import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class Authorize_Activity extends ListActivity {

    Cursor mContacts;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Return all contacts, ordered by name
        String[] projection = new String[] { ContactsContract.Contacts._ID,
                ContactsContract.Contacts.DISPLAY_NAME }; // Would like the phone num, too
        mContacts = managedQuery(ContactsContract.Contacts.CONTENT_URI,
                projection, null, null, ContactsContract.Contacts.DISPLAY_NAME);

        // Display all contacts in a ListView
        SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this,
                android.R.layout.simple_list_item_multiple_choice, mContacts,
                new String[] { ContactsContract.Contacts.DISPLAY_NAME },
                new int[] { android.R.id.text1 });

        setListAdapter(mAdapter);
    }

}

.. но флажки, отображаемые с именами (через встроенный макет simple_list_item_multiple_choice), не сохранят щелчок - флажок остаетсяпроверяется, когда вы нажимаете на него, но, кажется, не остается нажатым (либо это, либо флажок черный на черном фоне, как пятна на черной пантере, и я не вижу его).

Я вижу, что другие люди тоже сталкивались с этой проблемой в прошлом, но должен был быть менее хакерский / хитрый способ заставить это работать, чем сложные обходные пути, которые были упомянуты.В конце концов, какая польза от флажка, если вы не можете его установить?

1 Ответ

1 голос
/ 09 февраля 2012

Для лучшей производительности и обработки вы должны использовать класс BaseAdapter и Normal Listview. Я думаю, что использование ListActivity не является хорошей идеей, если вы хотите настроить свое действие или дизайн. Это имеет ограниченные возможности с точки зрения как действия, так и дизайна

Отредактировано

См. Эту ссылку для идеи списка адаптеров

...