У меня есть пользовательский ListView, где он показывает изображения, и есть два ImageButtons, которые будут использоваться для увеличения и уменьшения, чтобы показать количество элементов, которые пользователь имеет.
У меня есть две проблемы: во-первых, приращение для одного ListView при нажатии будет отображаться 1, если я нажму кнопку инкремента в новом ListView вместо того, чтобы говорить 1, он показывает 2. Ive читал другие записи переполнения стека, но didn ' t достаточно получить, как заставить его работать, поэтому я хотел опубликовать свой код и посмотреть, сможет ли кто-нибудь помочь.Инкремент/сокращение пользовательского адаптера ListView
Что мне нужно сделать, это иметь его показать 1, когда я нажимаю на ListView, а затем, если я нажимаю на другой ListView, мне нужно, что один, чтобы начать с 1 вместо 2.
Второй вопрос что ListView циклически показывает и показывает то, что было ранее введено, например, если в первых 5 списках ListViews я нажимаю кнопку increment Button , как только на каждом ListView будет отображаться 1, 2, 3, 4, 5, то, если я прокручу вниз до 6-го ListView, покажет 1 седьмой покажет 2 и т. д.
Я новичок в программировании, и любая помощь будет очень оценена.
Если необходимы дополнительные коды, которые были написаны, пожалуйста, дайте мне знать.
package net.programmingparadise.duelysttracker;
import android.content.Context;
import android.support.annotation.NonNull;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
/**
* Created by josel on 1/20/2017.
*/
public class ListArray extends ArrayAdapter<List> {
int quantity = 0;
public ListArray(Context context, ArrayList<List> list) {
super(context, 0, list);
}
@NonNull
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View listItemView = convertView;
if (listItemView == null) {
listItemView = LayoutInflater.from(getContext()).inflate(
R.layout.list_item, parent, false);
}
final List local_list = getItem(position);
ImageView cardImageView = (ImageView) listItemView.findViewById(R.id.cardImageView);
cardImageView.setImageResource(local_list.getmCardImage());
ImageView spiritImageView = (ImageView) listItemView.findViewById(R.id.spiritImageView);
spiritImageView.setImageResource(local_list.getmSpiritImage());
ImageView setImageView = (ImageView) listItemView.findViewById(R.id.setImageView);
setImageView.setImageResource(local_list.getmSetImage());
final TextView quantityTextView = (TextView) listItemView.findViewById(R.id.itemCount);
ImageButton incrementButton = (ImageButton) listItemView.findViewById(R.id.increment);
incrementButton.setTag(local_list);
incrementButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
quantity++;
quantityTextView.setText(String.valueOf(quantity));
}
});
return listItemView;
}
}
Im извините за все вопросы, но когда я ставлю в «окончательное количество Integer = listItemView.getTag();» он утверждает, что типы несовместимы с его утверждением, что один из них является Integer, а другой - объектом, как бы я исправлял это, есть ли что-то, что я могу прочитать, чтобы очистить его. – PrimordialRage
Вы можете использовать IDE, чтобы исправить это для вас. Единицы - это объект, другой - целое. Вы захотите посмотреть «кастинг». Я не уверен, что это решение, которое вы ищете, хотя –