【问题标题】:Check box in ListView layout has very short-term memory about being clickedListView 布局中的复选框对被点击有非常短的记忆
【发布时间】:2012-03-01 14:15:00
【问题描述】:

下面显示联系人姓名的代码效果不错:

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 布局)不会保留点击 - 当您按下复选框时,复选框保持选中状态,但似乎没有保持点击状态(或者,或者复选框在黑色背景下是黑色的,就像黑豹上的斑点,我看不到它。

我看到其他人过去也遇到过这个问题,但是与提到的复杂解决方法相比,必须有一种不那么老套/笨拙的方法来解决这个问题。毕竟,不能勾选的复选框有什么用呢?

【问题讨论】:

    标签: android android-layout android-listview android-contacts


    【解决方案1】:

    为了更好的性能和处理,你应该使用 BaseAdapter 类和普通 Listview。我认为当你想自定义你的动作或设计时使用 ListActivity 不是一个好主意。这在动作和设计方面都有限

    已编辑

    See this link for adapter listview idea

    【讨论】:

    • 查看以上链接了解更多详情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 2011-10-22
    相关资源
    最近更新 更多