【发布时间】:2014-06-20 02:53:42
【问题描述】:
我有一个 Activity 将服务器上的所有凭证加载到客户的手机上。在那个活动中,我有 2 个按钮。第一个按钮将获取客户购买的所有优惠券。第二个将获取客户可以购买的所有可用优惠券的列表。
现在,问题是,我只需要onListItemClick 即可获得可用优惠券列表(当他们点击这些优惠券时,他们可以选择购买)。我使用ListView 作为ListActivity。当我设置onListItemClick时,该活动也适用于购买的代金券。
如何在客户查看自己的优惠券时以某种方式停用onListItemClick 事件,并在客户选择购买优惠券时激活它?
这是我的两个按钮的代码:
public void btn_Own(View v){
if(!isConnected){
Toast toast = Toast.makeText(Voucher.this, "Cannot connect to internet", Toast.LENGTH_LONG);
toast.show();
return;
//finish();
}
if(email.equals("")){
Toast toast = Toast.makeText(Voucher.this, "Please log in to see your voucher!", Toast.LENGTH_LONG);
toast.show();
}else{
url = "http://wswob.somee.com/wobservice.svc/checkOwnVoucher/" + email + "/";
new checkingTask().execute();
}
}
public void btn_Shop(View v){
if(!isConnected){
Toast toast = Toast.makeText(Voucher.this, "Cannot connect to internet", Toast.LENGTH_LONG);
toast.show();
return;
//finish();
}
url = "http://wswob.somee.com/wobservice.svc/showVoucher";
new MyTask().execute();
}
我是 Android 新手,所以我才知道我必须使用自定义适配器才能这样做(据我所知)。但我想知道如何在使用 asynctask 时做到这一点,并在需要时传递不同的参数,从 web 服务执行不同的任务。
这是我调用网络服务后获取列表的方式:
protected void onPostExecute(Void result){
super.onPostExecute(result);
ListAdapter adapter = new SimpleAdapter(
Voucher.this, voucherList,
R.layout.voucher_list, new String[]{"detail","price"},
new int[]{R.id.detail, R.id.price});
setListAdapter(null);
setListAdapter(adapter);
}
【问题讨论】:
标签: android android-listview listactivity