baseadapter を使用してカスタム リストビューを作成しています。私のリストビューには、テキストビュー、2 つのボタン、および編集テキストが含まれています。2 つのボタンは足し算と引き算です。プラスボタンをクリックすると、edittext の値を 1 増やしたいので、edittext のデフォルト値を 1 のままにしています。
これは、listview の mycustombaseadapter の getView メソッドです。
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final ViewHolder holder;
int i=1;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.each_menu, null);
holder = new ViewHolder();
holder.txtoutletname = (TextView) convertView.findViewById(R.id.menuname);
holder.price = (TextView) convertView.findViewById(R.id.cost);
holder.plus = (Button) convertView.findViewById(R.id.plusbut);
holder.minus = (Button) convertView.findViewById(R.id.minusbut);
holder.qua = (EditText) convertView.findViewById(R.id.quanedit);
holder.plus.setId(i);
holder.minus.setId(i);
i++;
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txtoutletname.setText(searchArrayList.get(position).getmenuname());
holder.price.setText(searchArrayList.get(position).getcost());
holder.plus.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String vall=holder.qua.getText().toString();
int num=Integer.parseInt(vall);
num=num+1;
holder.qua.setText(num);
Log.d("plus",vall);
}
});
return convertView;
}
これはViewHolderクラスです
static class ViewHolder {
TextView txtoutletname;
TextView price;
NumberPicker np;
Button plus;
Button minus;
EditText qua;
}
+ ボタンをクリックすると、アクティビティが強制的に閉じられます。これを手に入れるのを手伝ってください。
String.valueOf() は私にとってはうまくいきました。ありがとう
しかし、今ではボタンがクリック可能であるため、リストビューはクリック可能ではありません..ボタンとリストビューの両方をクリック可能にする必要があります。これらのボタンなしで機能するitemclicklistenerを追加しました..