Ich bin erfolgreich Parser JSON und Anzeige in Listview.
In der Listenansicht habe ich Name, Stadt und Bewertung angezeigt, deren Werte bereits in der Datenbank gespeichert sind. Ich möchte dort die Bewertungsleiste anstelle der Bewertungsnummer anzeigen. Auch sollte es keine Benutzerinteraktion unterstützen, ich meine, ich möchte Bewertungsleiste nur zur Information anzeigen.
Wie kann ich das tun ??
Hilfe !!Wie wird die Bewertungsleiste in Android angezeigt?
// Getting Array of Root
root = json.getJSONArray(TAG_ROOT);
// looping through All root
for (int i = 0; i < root.length(); i++) {
JSONObject c = root.getJSONObject(i);
// Storing each json item in variable
String name = c.getString(TAG_NAME);
String town = c.getString(TAG_TOWN);
String totalRating = c.getString(TAG_RATING);
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
map.put(TAG_NAME, "Name: " + name);
map.put(TAG_TOWN, "Town: " + town);
map.put(TAG_RATING, "Rating: " + totalRating);
// adding HashList to ArrayList
myList.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
/**
* Updating parsed JSON data into ListView
* */
ListAdapter adapter = new SimpleAdapter(this, myList,
R.layout.list_item, new String[] { TAG_NAME, TAG_TOWN,
TAG_RATING }, new int[] { R.id.name, R.id.address,
R.id.rating });
setListAdapter(adapter);
list_item.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:paddingTop="6dip"
android:textColor="#006fa8"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/address"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:textColor="#acacac" >
</TextView>
<TextView
android:id="@+id/rating"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:textColor="#acacac" >
</TextView>
</LinearLayout>
Ich schrieb den folgenden Code '........ String totalRating = c.getString (TAG_RATING); RatingBar BewertungBar = (RatingBar) findViewById (R.id.pop_ratingbar); \t \t \t \t float gesamtRatingValue = Float.parseFloat (totalRating); \t \t \t \t ratingBar.setRating (totalRatingValue); HashMap map = neue HashMap (); map.put (TAG_NAME, "Name:" + Name); .................... 'aber gibt den Force-Close-Fehler. –
captaindroid
@captainpirate - Können Sie Ihren Logcat zeigen, da ich nicht denke, dass ein Fehler beim Setzen des Ratingwertes vorliegt, wenn Ihr TAG_RATING in Float konvertierbar ist. –
RatingBar wird jedem Listeneintrag angezeigt, aber wenn ich 'ratingBar.setRating (totalRatingValue); 'Dann gibt meine Programme Force Close Fehler. – captaindroid