向上或向下滚动列表视图的问题
Posted
技术标签:
【中文标题】向上或向下滚动列表视图的问题【英文标题】:problem with scrolling up or down of listview 【发布时间】:2021-07-17 13:03:24 【问题描述】:当我尝试获取 NumberPicker 的所有值时,它会正确返回中间的值,而第一个和最后一个仅返回在它们之间修改的最后一个值。我不明白我错在哪里。
public class piatto
String nome;
String Descrizione;
String prezzo;
String immagine;
String tag;
public piatto(String nome, String Descrizione, String prezzo, String immagine, String tag)
this.nome= nome;
this.Descrizione= Descrizione;
this.prezzo= prezzo;
this.immagine=immagine;
this.tag=tag;
public String getNome()
return nome;
public void setNome(String nome)
this.nome = nome;
public String getDescrizione()
return Descrizione;
public void setDescrizione(String descrizione)
Descrizione = descrizione;
public String getPrezzo()
return prezzo;
public void setPrezzo(String prezzo)
this.prezzo = prezzo;
public String getImmagine()
return immagine;
public void setImmagine(String immagine)
this.immagine = immagine;
public String getTag()
return tag;
public void setTag(String tag)
this.tag = tag;
这是我的适配器
public class ProductListAdapterforListView extends BaseAdapter
private Context mContext;
private List<piatto> mProductList;
public ProductListAdapterforListView(Context mContext, List<piatto> mProductList)
this.mContext = mContext;
this.mProductList = mProductList;
@Override
public int getCount()
return mProductList.size();
@Override
public piatto getItem(int position)
return mProductList.get(position);
@Override
public long getItemId(int position)
return position;
@Override
public View getView(int position, View convertView, ViewGroup parent)
View listitemview ;
if (convertView==null)
listitemview = View.inflate(mContext, R.layout.row_data_list, null);
ImageView i = (ImageView) listitemview.findViewById(R.id.imagepiatto);
com.shawnlin.numberpicker.NumberPicker numberPicker = (com.shawnlin.numberpicker.NumberPicker) listitemview.findViewById(R.id.number_picker);
TextView n=(TextView) listitemview.findViewById(R.id.namepiatto);
TextView p=(TextView) listitemview.findViewById(R.id.prezzopiatto);
n.setText(mProductList.get(position).getNome());
p.setText(mProductList.get(position).getPrezzo()+" €");
Picasso.get().load(mProductList.get(position).getImmagine()).into(i);
else
listitemview=convertView;
return listitemview;
这是我的 Java 类,我在其中获取每个 Item 的 NumberPicker 的值
@Override
public void onClick(View view)
if (view.getId()==R.id.buttonnext)
Float totale = (float) 0.0;
String listapiatti="";
for (int i = 0; i < listView.getChildCount(); i++)
view = listView.getChildAt(i);
TextView n = view.findViewById(R.id.namepiatto);
String nome = n.getText().toString();
TextView p = view.findViewById(R.id.prezzopiatto);
String pricestr = p.getText().toString();
String[] prezzo = pricestr.split(" ");
Float price = Float.valueOf(prezzo[0]);
com.shawnlin.numberpicker.NumberPicker numberPicker = (com.shawnlin.numberpicker.NumberPicker) view.findViewById(R.id.number_picker);
int value = numberPicker.getValue();
if (value != 0)
totale = totale + (price * value);
listapiatti = listapiatti + nome + ": " + value + ", ";
Toast.makeText(getApplicationContext(), String.valueOf(i)+" "+value,
Toast.LENGTH_LONG).show();
String finale=String.valueOf(totale);
startActivity(new Intent(carrello3.this, ordine.class));
if (view.getId()==R.id.buttonback)
onBackPressed();
【问题讨论】:
你能解释一下你面临的这个问题吗 当然,我刚刚添加了更多关于它的信息 【参考方案1】:在 setOnScrollListener 上创建一个对象似乎不是一个好主意,该对象在向上/向下滚动期间被多次调用。如果您能提供更多详细信息,那就太好了。
【讨论】:
以上是关于向上或向下滚动列表视图的问题的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的收藏视图在向下或向上滚动时很慢?如何解决性能问题?我已经清理了我的 UI 代码
有啥方法可以知道用户是向上还是向下滚动表格视图?在swift IOS中[重复]