0

我有如图所示的多项选择列表

在此处输入图像描述

我有2个问题

  1. 但是在我的所有应用程序屏幕中都有白色背景。如果我将屏幕设置为白色,所有文本“黑莓”、“诺基亚”等都消失了,因为默认情况下文本颜色是白色的。所以请告诉我如何将文本颜色更改为黑色?我尝试了风格,但它不起作用。

  2. 我得到的选中位置存在一些问题。例如,如果选中其中一个项目,然后如果我未选中,即使未选中,它仍然显示该项目已被选中。

这是我的检查项目选择代码

private void doDownloading() {
        SparseBooleanArray sp = listTrackView.getCheckedItemPositions();

        for (int i = 0; i < sp.size(); i++) {
            selectedConferenceList.add(conferenceList.get(sp.keyAt(i))
                    .getConferenceName());
        }

}

4

2 回答 2

0

这是一个示例代码,您可以更改为您的

AndroidMultiChoiceListActivity .java

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class AndroidMultiChoiceListActivity extends Activity {

 ListView choiceList;
 String[] choice = { "Choice A", 
   "Choice B", "Choice C", "Choice D", "Choice E"};

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        choiceList = (ListView)findViewById(R.id.list);

        ArrayAdapter<String> adapter
        = new ArrayAdapter<String>(this, 
          android.R.layout.simple_list_item_multiple_choice, 
          choice);
        choiceList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        choiceList.setAdapter(adapter);

    }
}

主要的.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    android:textColor="#334422"
    />
<ListView 
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
</LinearLayout>

在您的 Textview 中用于android:textColor="#334422"更改文本的颜色。

于 2012-05-02T11:10:08.613 回答
0

最后我知道没有办法用标准改变多选列表视图的文本颜色ArrayAdapter<String>。所以我去定制适配器实现。 链接对我开发具有多项选择实现的自定义适配器很有帮助。

于 2014-02-26T06:14:57.940 回答