Я купил видео уроки по разработке приложений для Android с использованием Java с целью узнать об android. Есть учебник, в котором мы узнаем, как добавить задачу с «флажком» рядом с ней, чтобы ее можно было использовать для исключения выполненных задач .Я хочу знать, как добавить строку оценки под задачей, чтобы сама задача была оценена. Я пробовал разные вещи, но ничего не получалось. Это слишком много, чтобы вставить весь код, поэтому я попытаюсь определить соответствующие части.
Проект имеет 3 графических макета (XML-файлы). Первый для представления списка задач, второй с необходимыми кнопками (добавить задачу, удалить) и этот с флажком и, надеюсь, со шкалой рейтинга. .
<?xml version="1.0" encoding="utf-8"?>
<project.android.taskmanager.views.TaskListItem
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<CheckedTextView
android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorMultiple" />
При этом на графическом макете появляется строка рейтинга
<RatingBar android:id="@+id/ratingbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@android:id/text1"
android:numStars="5"
android:isIndicator="true"
android:stepSize="0.1"/>
</project.android.taskmanager.views.TaskListItem>
Ниже класса, который используется для вышеуказанного XML-файла, так как мы должны взаимодействовать с флажком.
package project.android.taskmanager.views;
import project.android.taskmanager.R;
import project.android.taskmanager.tasks.Task;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.CheckedTextView;
import android.widget.LinearLayout;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.RelativeLayout;
public class TaskListItem extends RelativeLayout {
private Task task;
private CheckedTextView checkbox;
private RatingBar ratingbar;
public TaskListItem(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
checkbox = (CheckedTextView)findViewById(android.R.id.text1);
ratingbar = (RatingBar)findViewById(R.id.ratingbar);
}
public void setTask(Task task) {
this.task = task;
checkbox.setText(task.getName());
checkbox.setChecked(task.isComplete());
}
public Task getTask() {
return task;
}
}
Добавление следующего не сработало.
final RatingBar ratingbar = (RatingBar) findViewById(R.id.ratingbar);
ratingbar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
Toast.makeText(HelloFormStuff.this, "New Rating: " + rating, Toast.LENGTH_SHORT).show();
}
});
Что я должен сделать, чтобы добавить рейтинг рядом с флажком, чтобы пользователь мог взаимодействовать с ним?