我有多选列表,如图
所示
我有2个问题
但在我的所有应用程序屏幕上都有背景白色..这是同样的情况如果我将我的屏幕设为白色,所有文本“BlackBerry”,“Nokia”等都消失了,因为默认情况下文本颜色为白色。那么请告诉我如何将文字颜色改为黑色?我试过风格,但它不会工作。
我检查的位置存在一些问题......例如如果选中其中一个项目,之后如果我取消选中,即使未选中该项目,它仍会显示该项目。
以下是检查项目选择的代码
private void doDownloading() {
SparseBooleanArray sp = listTrackView.getCheckedItemPositions();
for (int i = 0; i < sp.size(); i++) {
selectedConferenceList.add(conferenceList.get(sp.keyAt(i))
.getConferenceName());
}
}
答案 0 :(得分: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);
}
}
<强> main.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"
更改文字颜色。
答案 1 :(得分:0)
最后我知道你无法用标准ArrayAdapter<String>
更改多选列表视图的文本颜色。所以我去定制适配器实现。
This链接对我开发具有多选实现的自定义适配器很有帮助。