Android Добавить задачу с флажком и рейтингом - PullRequest
0 голосов
/ 29 октября 2011

Я купил видео уроки по разработке приложений для 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();
    }
});

Что я должен сделать, чтобы добавить рейтинг рядом с флажком, чтобы пользователь мог взаимодействовать с ним?

1 Ответ

0 голосов
/ 30 октября 2011

Я не совсем уверен, как у вас все настроено, но вы можете поместить все внутри RelativeLayout, а затем присвоить значения флажку: android:layout_alignParentRight="true" android:layout_alignParentBottom="true" и сказать android:id="@+id/checkbox".Затем в строке рейтинга назначьте значения: android:layout_alignParentBottom="true" и android:layout_toLeftOf="@+id/checkbox".

Я не знаю, сработает ли это, как вы хотите настроить его, но насколько я понимаю, что выпытаюсь достичь, вот как бы я это сделал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...