【发布时间】:2015-08-23 20:16:41
【问题描述】:
我的应用通过我的片段的onCreateView() 方法从我网站的 API 请求一些 JSON 数据:
apiService.getJson(5, new Callback<PostData>() {
@Override
public void success(PostData postData, Response response) {
final PostAdapter adapter = new PostAdapter(getActivity(), postArray);
postArray.addAll(postData.getData());
listView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
@Override
public void failure(RetrofitError retrofitError) {
retrofitError.printStackTrace();
}
});
我的适配器的getView() 方法如下所示:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
Post post = getItem(position);
if (view == null) {
view = LayoutInflater.from(context).inflate(R.layout.post_layout, parent, false);
} else {
return view;
}
LayerDrawable shapeLayout = (LayerDrawable) ContextCompat.getDrawable(context, R.drawable.post_bg);
GradientDrawable shape = (GradientDrawable) shapeLayout.findDrawableByLayerId(R.id.post_bg_border);
shape.setColor(Color.parseColor("#" + post.getColor()));
return view;
}
布局:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/post_bg_border">
<shape android:shape="rectangle">
<solid android:color="#000000" />
</shape>
</item>
<item android:left="5dp">
<shape android:shape="rectangle">
<solid android:color="@color/bg" />
</shape>
</item>
</layer-list>
但是,它将颜色分配给下一个帖子,而不是当前帖子。我的代码有什么问题?
【问题讨论】:
标签: android android-layout android-xml