#android #android-recyclerview
#Android #android-recyclerview
Вопрос:
Я работаю над приложением для голосования, в котором кто-то загружает два или более изображения, а другой пользователь голосует за любое конкретное изображение.
Теперь все работает нормально, но я должен добавить функциональность, в которой, когда кто-то нажимает на изображение, круглая строка выполнения должна показывать прогресс один за другим.
В настоящее время происходит то, что если кто-то нажимает на изображение, я вычисляю текущий процент голосов, добавляю новый процент и вызываю notifyitemchange (позиция)
Я хочу, чтобы, если оценка составляла 30%, индикатор выполнения должен показывать ее от 0 до 30 %
else if (PO.getFeed_type().equalsIgnoreCase("vertical")){
view.card_parent.setVisibility(View.GONE);
view.card_parentS.setVisibility(View.GONE);
view.card_parentV3.setVisibility(View.GONE);
view.card_parentV4.setVisibility(View.GONE);
view.card_parenttext.setVisibility(View.GONE);
view.card_parentpost.setVisibility(View.GONE);
// System.out.println("jdixkdicxk 3" PO.getTitle());
view.titleH.setText(PO.getTitle());
view.usernameH.setText(PO.getUsername());
view.vote_countH.setText(String.valueOf(PO.getAnswered_poll()) "");
view.created_timeH.setText(PO.getCreated_time());
view.comment_countH.setText(PO.getComments_count());
Picasso.with(getActivity())
.load(Constant.imagepath PO.getChoice1())
.error(R.drawable.no_image)
.into(view.choice1H);
Picasso.with(getActivity())
.load(Constant.imagepath PO.getChoice2())
.error(R.drawable.no_image)
.into(view.choice2H);
if (PO.getProfile_pic().length() > 0)
Picasso.with(getActivity())
.load(Constant.user_imagepath PO.getProfile_pic())
.error(R.drawable.dummy_user)
.into(view.profile_picH);
else {
Picasso.with(getActivity())
.load(R.drawable.dummy_user)
.error(R.drawable.dummy_user)
.into(view.profile_picH);
}
if (PO.getSelected_choice() == 1) {
// holder.choice1_selected.setVisibility(View.VISIBLE);
// holder.choice2_selected.setVisibility(View.GONE);
//
// holder.choice1_percentage.setVisibility(View.VISIBLE);
// holder.choice2_percentage.setVisibility(View.VISIBLE);
int percentage1 = PO.getChoice1_percentage();
int percentage2 = PO.getChoice2_percentage();
view.donut_progress1H.setProgress(percentage1);
view.donut_progress2H.setProgress(percentage2);
view.donut_progress1H.setText(String.valueOf(percentage1) "%");
view.donut_progress2H.setText(String.valueOf(percentage2) "%");
view.white_layer1H.setVisibility(View.VISIBLE);
view.white_layer2H.setVisibility(View.VISIBLE);
view.myvote1H.setVisibility(View.VISIBLE);
view.myvote2H.setVisibility(View.GONE);
//view.choicebar1.setVisibility(View.VISIBLE);
//view.choicebar2.setVisibility(View.VISIBLE);
} else if (PO.getSelected_choice() == 2) {
// view.choice1_selected.setVisibility(View.GONE);
// view.choice2_selected.setVisibility(View.VISIBLE);
//
view.white_layer1H.setVisibility(View.VISIBLE);
view.white_layer2H.setVisibility(View.VISIBLE);
int percentage1 = PO.getChoice1_percentage();
int percentage2 = PO.getChoice2_percentage();
view.donut_progress1H.setProgress(percentage1);
view.donut_progress2H.setProgress(percentage2);
view.donut_progress1H.setText(String.valueOf(percentage1) "%");
view.donut_progress2H.setText(String.valueOf(percentage2) "%");
//
view.choice1_percentage.setText(String.valueOf(percentage1));
//
view.choice2_percentage.setText(String.valueOf(percentage2));
view.myvote1H.setVisibility(View.GONE);
view.myvote2H.setVisibility(View.VISIBLE);
} else {
view.choicebar1H.setVisibility(View.GONE);
view.choicebar2H.setVisibility(View.GONE);
view.white_layer1H.setVisibility(View.GONE);
view.white_layer2H.setVisibility(View.GONE);
}
if
(myuserobj.getUser_pk().equalsIgnoreCase(PO.getUser_fk()))
view.follow_btnH.setVisibility(View.GONE);
else
view.follow_btnH.setVisibility(View.VISIBLE);
view.choice1H.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view) {
if (PO.getSelected_choice() == 0) {
PO.setSelected_choice(1);
PO.setChoice1_count(PO.getChoice1_count() 1);
PO.setAnswered_poll(PO.getAnswered_poll() 1);
float choice1_percentage = ((float)
PO.getChoice1_count() / (float) PO.getAnswered_poll()) * 100;
float choice2_percentage = ((float)
PO.getChoice2_count() / (float) PO.getAnswered_poll()) * 100;
PO.setChoice1_percentage((int)
choice1_percentage);
PO.setChoice2_percentage((int)
choice2_percentage);
// getAllPollsFollowing();
// feedlistview.smoothScrollToPosition(position 1);
PO.setSelected_choice(1);
notifyItemChanged(position,PO);
vote_poll(myuserobj.getUser_pk(),
String.valueOf(items.get(position).getPoll_pk()), "1");
} else {
Intent in = new Intent(getActivity(),
PollDetailActivity.class);
in.putExtra("poll_pk",
String.valueOf(PO.getPoll_pk()));
startActivity(in);
}
// Toast.makeText(getActivity(), "Already voted",
Toast.LENGTH_SHORT).show();
}
});
view.choice2H.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (PO.getSelected_choice() == 0) {
PO.setSelected_choice(2);
PO.setChoice2_count(PO.getChoice2_count() 1);
PO.setAnswered_poll(PO.getAnswered_poll() 1);
float choice1_percentage = ((float) PO.getChoice1_count() / (float) PO.getAnswered_poll()) * 100;
float choice2_percentage = ((float) PO.getChoice2_count() / (float) PO.getAnswered_poll()) * 100;
PO.setChoice1_percentage((int) choice1_percentage);
PO.setChoice2_percentage((int) choice2_percentage);
items.get(position).setSelected_choice(2);
notifyItemChanged(position,PO);
vote_poll(myuserobj.getUser_pk(), String.valueOf(items.get(position).getPoll_pk()), "2");
} else {
Intent in = new Intent(getActivity(), PollDetailActivity.class);
in.putExtra("poll_pk", String.valueOf(PO.getPoll_pk()));
startActivity(in);
}
}
});