我有一个谷歌地图应用程序,用户可以通过标记我们选择的餐厅评价我在sq lite数据库中存储评级值,当他们点击查看评级按钮时,我在滚动视图中显示名称和评级值为字符串.现在我想将评级值显示为星星,即用户输入的方式.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:text="Rate me"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:id="@+id/rateme"
android:layout_weight="0.00" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:text="Restaurent Name"
android:ems="10"
android:id="@+id/place"
android:layout_weight="0.00" />
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:stepSize="1.0"
android:rating="2.0"
android:layout_marginTop="64dp"
android:layout_below="@+id/place"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/rate"
android:layout_weight="0.00" />
<Button
android:text="Submit"
android:layout_width="395dp"
android:layout_height="wrap_content"
android:id="@+id/submit"
android:onClick="insert"/>
<Button
android:text="view Rating"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/viewrate"
android:layout_weight="0.00"
android:onClick="display"/>
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/button2" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:textStyle="bold" />
<RatingBar
android:id="@+id/rat"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:isIndicator="false"
android:layout_weight="0.07" />
/>
</LinearLayout>
</ScrollView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
为此,您可以使用RatingBar.见文档.
在你的布局中XML:
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:stepSize="1.0"
android:rating="2.0" />
Run Code Online (Sandbox Code Playgroud)
在你的Activity:
RatingBar ratingBar = (RatingBar) findViewById(R.id.ratingBar);
Float rating = 3.0; // 3.0 is from your database
// To show rating on RatingBar
ratingBar.setRating(rating);
Run Code Online (Sandbox Code Playgroud)
更新:
要获得rating来自RatingBar:
Float rating = ratingBar.getRating();
// Show rating on TextView
textView.setText("Rating: " + String.valueOf(rating));
Run Code Online (Sandbox Code Playgroud)
要获得与附加图像类似的输出:
#如果number是Restaurant固定的.(例如:) 10:
RatingBar和10 .TextViewXMLid对RatingBar (rb1, rb2, rb3.....)和TextView 使用不同的(tv1, tv2, tv3.....).获取以下rating值database:
Float rating1 = 1.0;
Float rating2 = 1.0;
Float rating3 = 3.0;
.............
.......................
Run Code Online (Sandbox Code Playgroud)将rating值设置为RatingBar和TextView
rb1.setRating(rating1);
rb2.setRating(rating2);
rb3.setRating(rating3);
................
......................
tv1.setText("Restaurant One" + String.valueOf(rating1));
tv2.setText("Restaurant Two" + String.valueOf(rating2));
tv3.setText("Restaurant Three" + String.valueOf(rating3));
................
.......................
Run Code Online (Sandbox Code Playgroud)#如果number是Restaurant变量:
ListView或RecyclerView.ArrayList存储您获得的每个餐馆数据(name和rating)Google Map.Adapter以在/ data上的行项目view上填充每个餐馆.这里的行项视图是一个包含和的XML .ListViewRecyclerViewRatingBarTextViewArrayList来AdaptergetView()或onBindViewHolder()获得的餐厅name,并rating从ArrayList每个position并显示在TextView和RatingBar.这是一些很好的教程:
希望这会有所帮助〜
| 归档时间: |
|
| 查看次数: |
3661 次 |
| 最近记录: |