Android:在微调器中选择项目并计算其总价+;单击按钮后获取每个项目的ID
我对android开发和StackOverflow非常陌生,所以如果我的问题没有使用正确的词语,请不要介意。Android:在微调器中选择项目并计算其总价+;单击按钮后获取每个项目的ID,android,android-spinner,Android,Android Spinner,我对android开发和StackOverflow非常陌生,所以如果我的问题没有使用正确的词语,请不要介意。 我正在为带有图像和价格的项目实施微调器。 首先,所有这些工作都是在一个根据我的需要从BaseAdapter扩展而来的类中进行的。 在微调器的getView中,我设置了微调器视图。 现在在getView中,我希望当用户在微调器中选择一个项目时,按钮单击侦听器应该计算项目的总价(首先计算一行的总价,然后在按钮单击的末尾计算所有行的总价),然后给我每个项目的ID。 我可以实现按钮单击侦听器,但
我正在为带有图像和价格的项目实施微调器。
首先,所有这些工作都是在一个根据我的需要从BaseAdapter扩展而来的类中进行的。
在微调器的getView中,我设置了微调器视图。
现在在getView中,我希望当用户在微调器中选择一个项目时,按钮单击侦听器应该计算项目的总价(首先计算一行的总价,然后在按钮单击的末尾计算所有行的总价),然后给我每个项目的ID。
我可以实现按钮单击侦听器,但不知道如何使用微调器执行所有这些操作,因此请帮助我完成这些操作。
由于我的声誉不超过10,我无法共享图像。
到目前为止,我所做的是:
public class Base_Adapter extends BaseAdapter
{
ImageView image;
TextView name, price;
Context context ;
ArrayList<ItemDetails> IDetails; //The item class which have methods and fields
RelativeLayout R_Layout;
Activity activit;
public Base_Adapter(Context context , ArrayList<ItemDetails> li)
{
this.context = context;
IDetails = li;
}
public void setLayout(Activity activity, RelativeLayout layout){
R_Layout = layout;
this.activit = activity;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return IDetails.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(final int position, View CV, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater infleter = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if(CV == null)
{
CV = infleter.inflate(R.layout.base_adapter, null);
}
final ItemDetails item = IDetails.get(position);
int min =1;
int max = Integer.parseInt(item.totall_Available());
ArrayList<String> A_list= new ArrayList<String>();
for(int i=1;i<=max;i++)
{
A_list.add("Number of Items :"+i);
}
image = (ImageView) CV.findViewById(R.id.Item_image);
name = (TextView) CV.findViewById(R.id.item_name);
price = (TextView) CV.findViewById(R.id.item_price);
final Spinner quantity = (Spinner) CV.findViewById(R.id.items);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, R.layout.spinner_textview, A_list);
quantity.setAdapter(adapter);
price.setText(""+item.price());
name.setText(item.name());
return CV;
}
//Here in some place the button should calculate
}
公共类基类适配器扩展了基类适配器
{
图像视图图像;
TextView名称、价格;
语境;
ArrayList IDetails;//具有方法和字段的项类
相对布局;
活动活动;
公共基_适配器(上下文,ArrayList li)
{
this.context=上下文;
IDetails=li;
}
公共void集合布局(活动、相对活动布局){
R_布局=布局;
this.activit=活动;
}
@凌驾
public int getCount(){
//TODO自动生成的方法存根
返回IDetails.size();
}
@凌驾
公共对象getItem(int arg0){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共视图getView(最终整型位置、视图CV、视图组父视图){
//TODO自动生成的方法存根
LayoutInflater infiter=(LayoutInflater)this.context.getSystemService(context.LAYOUT\u INFLATER\u SERVICE);
如果(CV==null)
{
CV=拐点。充气(R.layout.base_适配器,空);
}
final ItemDetails item=IDetails.get(位置);
int min=1;
int max=Integer.parseInt(item.total_Available());
ArrayList A_list=新建ArrayList();
对于(int i=1;i您的类需要实现OnItemSelectedListener,然后您访问所选项并使用它进行操作。下面是我的一些旧代码中的一个示例:
Post implements OnItemSelectedListener,
@覆盖
已选择公共样式(AdapterView微调器、视图stringDate、整型arg2、长型arg3){
if(spinner.getId()==R.id.platform){
platform=spinner.getSelectedItem().toString();
}否则{
day=spinner.getSelectedItem().toString();
}
}
@Override
public void onItemSelected(AdapterView<?> spinner, View stringDate, int arg2, long arg3) {
if (spinner.getId() == R.id.platform) {
platform = spinner.getSelectedItem().toString();
} else {
day = spinner.getSelectedItem().toString();
}
}