Reputation: 337
I want to add KEY_TITLE, KEY_AUTHOR, KEY_THUMBNAIL, but when i compile in simulator android, why the result show like this?, only show KEY_TITLE, this my code :
JSONArray jsonPosts = mBlogData.getJSONArray("posts");
ArrayList<HashMap<String, String>> blogPosts = new ArrayList<HashMap<String,String>>();
for(int i = 0 ; i < jsonPosts.length(); i++) {
JSONObject post = jsonPosts.getJSONObject(i);
String titles = post.getString(KEY_TITLE);
titles = Html.fromHtml(titles).toString();
String author = post.getString(KEY_AUTHOR);
author = Html.fromHtml(titles).toString();
String thumbnail = post.getString(KEY_THUMBNAIL);
thumbnail = Html.fromHtml(titles).toString();
HashMap<String, String> blogPost = new HashMap<String, String>();
blogPost.put(KEY_TITLE, titles);
blogPost.put(KEY_AUTHOR, author);
blogPost.put(KEY_THUMBNAIL, thumbnail);
blogPosts.add(blogPost);
}
ListAdapter adapter = new SimpleAdapter(MyClaimActivity.this, blogPosts, R.layout.activity_list, new String[] { KEY_TITLE, KEY_AUTHOR, KEY_THUMBNAIL }, new int[]{R.id.title, R.id.author,R.id.thumbnail});
setListAdapter(adapter);
Why is the result like this?
How can I fix it?
Upvotes: 1
Views: 93
Reputation: 1495
I think it is copy paste problem...you are taking the titles every time.
Use this:
for(int i = 0 ; i < jsonPosts.length(); i++) {
JSONObject post = jsonPosts.getJSONObject(i);
String titles = post.getString(KEY_TITLE);
titles = Html.fromHtml(titles).toString();
String author = post.getString(KEY_AUTHOR);
author = Html.fromHtml(author).toString();
String thumbnail = post.getString(KEY_THUMBNAIL);
thumbnail = Html.fromHtml(thumbnail).toString();
HashMap<String, String> blogPost = new HashMap<String, String>();
blogPost.put(KEY_TITLE, titles);
blogPost.put(KEY_AUTHOR, author);
blogPost.put(KEY_THUMBNAIL, thumbnail);
blogPosts.add(blogPost);
}
Upvotes: 1
Reputation: 105
String titles = post.getString(KEY_TITLE);
titles = Html.fromHtml(titles).toString();
String author = post.getString(KEY_AUTHOR);
author = Html.fromHtml(titles).toString();
String thumbnail = post.getString(KEY_THUMBNAIL);
thumbnail = Html.fromHtml(titles).toString();
must change to
String titles = post.getString(KEY_TITLE);
titles = Html.fromHtml(titles).toString();
String author = post.getString(KEY_AUTHOR);
author = Html.fromHtml(author ).toString();
String thumbnail = post.getString(KEY_THUMBNAIL);
thumbnail = Html.fromHtml(thumbnail ).toString();
Upvotes: 2
Reputation: 6738
You did a silly mistake. You are using titles
for author and thumbnail too.
Change these lines
author = Html.fromHtml(titles).toString();
thumbnail = Html.fromHtml(titles).toString();
to
author = Html.fromHtml(author).toString();
thumbnail = Html.fromHtml(thumbnail).toString();
Upvotes: 1
Reputation: 2233
You are using titles
repeatedly. Possibly a wrong copy/paste. You should fix it.
String author = post.getString(KEY_AUTHOR);
author = Html.fromHtml(author).toString();
String thumbnail = post.getString(KEY_THUMBNAIL);
thumbnail = Html.fromHtml(thumbnail).toString();
Upvotes: 1