カスタム ListAdapter を使用して構築する listView があります。ListView の各項目で TextView のすべてのテキストを取得するには、リスト ビューのすべての子項目にアクセスする必要があります。
private void calcTotalSales ()
{
View v;
TextView tx;
String abc="";
ListView myList = (ListView) findViewById(R.id.todaySalesListView);
for (int i = 0; i < myList.getChildCount(); i++)
{
v = (View) myList.getChildAt(i);
tx = (TextView) v.findViewById(R.id.quantityTB);
Log.d ("Text", tx.getText().toString());
}
}
私の listAdapter の一部:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
final int _position = position;
if (convertView == null) {
convertView = l_Inflater.inflate(R.layout.activity_today_sales_list_view, null);
holder = new ViewHolder();
holder.txt_itemName = (TextView) convertView.findViewById(R.id.itemNameTB);
holder.txt_itemPrice = (TextView) convertView.findViewById(R.id.priceTB);
holder.txt_itemQuantity = (TextView) convertView.findViewById(R.id.quantityTB);
holder.txt_plusBtn = (Button) convertView.findViewById(R.id.addBtn);
holder.txt_minusBtn = (Button) convertView.findViewById(R.id.minusBtn);
holder.txt_plusBtn.setTag(holder);
holder.txt_minusBtn.setTag(holder);
convertView.setTag(holder);
holder.txt_plusBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Set Text of TextView
}
});
holder.txt_minusBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Set Text of TextView
}
});
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txt_itemName.setText(itemDetailsrrayList.get(position).getItemName());
holder.txt_itemPrice.setText("RM "+itemDetailsrrayList.get(position).getItemCost());
return convertView;
}
これが私が直面している問題です:
- リストビューの最初の項目にアクセスできませんでした
- アイテムへのアクセスは一貫していません (つまり、成功する場合と失敗する場合があります)。
誰でも助けることができますか?