Android ListView项是透明的
我正在从数据库中读取一个表,并将其显示在Android ListView项是透明的,android,listview,Android,Listview,我正在从数据库中读取一个表,并将其显示在列表视图中: Cursor cities = db.getTableData(DBTable.CITY, columns); cityListAdapter = new SimpleCursorAdapter(getContext(), android.R.layout.simple_list_item_1, cities, columns, new int[] {android.R.i
列表视图中
:
Cursor cities = db.getTableData(DBTable.CITY, columns);
cityListAdapter = new SimpleCursorAdapter(getContext(),
android.R.layout.simple_list_item_1,
cities,
columns,
new int[] {android.R.id.text1},0);
citiesListView.setAdapter(cityListAdapter);
这个很好用
但是因为我要多次使用这段代码,我决定用它来做一个函数:
Cursor cities = db.getTableData(DBTable.CITY, columns);
cityListAdapter = MyDatabase.fillAdapter(cities,columns);
public static ListAdapter fillAdapter(Cursor cursor,String[] columns)
{
return (new SimpleCursorAdapter(MainApplication.getAppContext(),
android.R.layout.simple_list_item_1,
cursor,
columns,
new int[] {android.R.id.text1},0));
}
它可以工作,但是ListView中的项目看起来有点透明!(非常浅灰色)
在前面的代码中,它们看起来只是黑色的
为什么会这样?这与放入函数中的代码完全相同。这是因为在使用静态方法的第二种方法中,您调用了
getAppContext()
来获取上下文,但样式不适用于应用程序上下文
尝试在那里获取另一个上下文,或通过编程方式为应用程序上下文设置主题,如下所示:
getApplicationContext().setTheme(R.style.MyTheme);
天才。[这里是一些文字,以达到最小字符数]