花时间阅读帖子,但没有找到与遇到的问题相关的任何内容。
有一个基于Android Marshmallow的应用程序,它启动一个包含listview的布局的活动。编写了一个自定义适配器,它确实调用了getView方法,并确认数据存在。适配器的getView是:
ArrayList<HashMap<String,IncidentData>> localList;
mLayoutInflator = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = mLayoutInflator.inflate(R.layout.list_item_base_incident, parent,false);
}
mDateTimeText = (TextView)convertView.findViewById(R.id.date_time_text);
mAddressText = (TextView)convertView.findViewById(R.id.address_text);
mDistanceToText = (TextView)convertView.findViewById(R.id.distance_to_text);
mShortDescText = (TextView)convertView.findViewById(R.id.short_desc_text);
mGangRelatedText = (TextView)convertView.findViewById(R.id.gang_related_text);
//pop data
HashMap<String,IncidentData>incident2 = mID.get(position);
IncidentData id = incident2.get(incident2.keySet().iterator().next());
mDateTimeText.setText(id.getDateTime());
mAddressText.setText(id.getAddress());
mDistanceToText.setText(String.valueOf(id.getDistance()));
mShortDescText.setText(id.getShortDesc());
mGangRelatedText.setText(id.getGangRelated());
Log.d(LOG_TAG,"SHORT DESC - "+ id.getShortDesc());
return convertView;
}
日志消息显示getView正确处理hashmap中的每个条目。问题是数据没有出现在列表视图中,但是列表视图确实显示了数据量的正确空白条目数。 屏幕布局如下: incident_layout_base.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/incident_list_view"/>
</LinearLayout>
并且listview内容的布局是:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:columnCount="1">
<TextView
android:id="@+id/date_time_text"
app:layout_columnWeight="1"
tools:text="08201624@2350"/>
<TextView
android:id="@+id/address_text"
app:layout_columnWeight="1"
tools:text="SAN FERNANDO BLVD AND ALAMEDA AVE"/>
<TextView
android:id="@+id/distance_to_text"
app:layout_columnWeight="1"
tools:text="1"/>
<TextView
android:id="@+id/short_desc_text"
app:layout_columnWeight="1"
tools:text="Murder"/>
<TextView
android:id="@+id/gang_related_text"
app:layout_columnWeight="1"
tools:text="gang related"/>
</android.support.v7.widget.GridLayout>
应用程序确实启动了处理包含listView的显示的意图。 intent调用setContentView,获取数据,实例化自定义适配器并在其上调用setAdapter。
赞赏的想法
答案 0 :(得分:0)
发现没有数据显示的问题。背景和文本颜色默认为白色。所以,虽然数据存在,但是你却看不到它。