Android操作系统对话框,当应用程序保持空闲状态一段时间时,显示强制关闭和确定
* 我的问题是,我的应用程序中的每个活动都从Web服务获取数据,如果 它在某些操作系统中保持空闲状态,弹出一个显示强制关闭和OK的对话框 选项当我单击“强制关闭”时,它停止,但当我单击“确定”按钮时,它保持不变 在活动中,但当我移动到其他活动时,不会显示任何数据,因为它不会命中web服务 获取该活动的数据Android操作系统对话框,当应用程序保持空闲状态一段时间时,显示强制关闭和确定,android,Android,* 我的问题是,我的应用程序中的每个活动都从Web服务获取数据,如果 它在某些操作系统中保持空闲状态,弹出一个显示强制关闭和OK的对话框 选项当我单击“强制关闭”时,它停止,但当我单击“确定”按钮时,它保持不变 在活动中,但当我移动到其他活动时,不会显示任何数据,因为它不会命中web服务 获取该活动的数据 * 那么,如何处理这种情况呢 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setCo
*
那么,如何处理这种情况呢
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.U.layout);
上下文=这个;
merchantName=(TextView)findViewById(R.id.CouponsMerchantName);
地址=(TextView)findViewById(R.id.CouponsDetailAddress);
phone=(TextView)findViewById(R.id.CouponsDetailsPhone);
categoryImage=(ImageView)findViewById(R.id.CouponsCategoryImage 01);
couponsListLayout=(ListView)findViewById(R.id.couponsListLayout);
backButton=(按钮)findViewById(R.id.CouponsBackButton);
backButton.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
完成();
}
});
试一试{
entry=Data.storemecchantdailmain.get(0);
setText(entry.getMerchantName());
address.setText(entry.getAddress());
phone.setText(entry.getPhone());
ImageLoader ImageLoader=新的ImageLoader(CouponsActivity.this);
String categoryImg=Data.URL_BASE+entry.getCategoryImg();
categoryImage.setTag(categoryImg);
imageLoader.DisplayImage(categoryImg,CouponsActivity.this,
分类图像);
adapter=新的CustomAdapterGroupons(此项为entry.getCouponsList());
couponListLayout.setAdapter(适配器);
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
类CustomAdapterGroupons扩展BaseAdapter{
/*变量声明*/
私人语境;
私人名单;
私有CouponBean入口;
public com.a.util.ImageLoader ImageLoader;
私人充气机;
公共CustomAdapterGroup(上下文、列表){
this.context=上下文;
this.list=列表;
充气器=(LayoutFlater)耦合活动。此
.getSystemService(上下文布局\充气机\服务);
imageLoader=new com.abc.util.imageLoader(上下文);
}
public int getCount(){
//TODO自动生成的方法存根
返回list.size();
}
公共对象getItem(int位置){
//TODO自动生成的方法存根
返回列表。获取(位置);
}
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回位置;
}
公共类视图持有者{
public text查看耦合名称、耦合代码、用法说明、,
到期日;
公共图像查看耦合图像;
}
公共视图getView(最终整型位置,视图转换视图,
视图组(父级){
//TODO自动生成的方法存根
ViewHolder=null;
entry=list.get(位置);
if(convertView==null){
convertView=充气机。充气(右布局。优惠券列表\u布局,
无效);
holder=新的ViewHolder();
holder.couponName=(TextView)convertView
.findViewById(R.id.CouponListCouponName);
holder.couponCode=(TextView)convertView
.findViewById(R.id.CouponListCouponCode);
holder.expirationDate=(TextView)convertView
.findViewById(R.id.CouponListDetailDate);
holder.usageDescription=(TextView)convertView
.findViewById(R.id.CouponListUsageDescription);
holder.couponImage=(图像视图)convertView
.findViewById(R.id.CouponListLeftImage);
convertView.setTag(支架);
//设置显示文本
}否则{
holder=(ViewHolder)convertView.getTag();
}
holder.couponName.setText(entry.getCouponName());
holder.expirationDate.setText(上下文
.getString(R.string.优惠券到期日)
+“\n”
+entry.getExpirationDate());
holder.usageDescription.setText(entry.getUsageDescription());
holder.couponCode.setText(entry.getCouponCode());
holder.couponImage.setTag(Data.URL_BASE_2+entry.getCouponImage());
imageLoader.DisplayImage(Data.URL\u BASE\u 2+entry.getCouponImage(),
(活动)上下文、持有者、couponImage);
Log.v(Data.LOG3,“image”+entry.getCouponImage());
最后一个按钮SavedMyComponens=(按钮)convertView
.findViewById(R.id.CoupOnlistAddToMyCoupButton);
if(entry.getSavedMyCoupons().equalsIgnoreCase(“N”)){
savedMyCoupons.setText(上下文
.getString(R.string.Add_to_myCoupons));
SavedMyGroups.setBackgroundResource(R.drawable
So, how to handle this situation
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.coupon_layout);
context = this;
merchantName = (TextView) findViewById(R.id.CouponsMerchantName);
address = (TextView) findViewById(R.id.CouponsDetailAddress);
phone = (TextView) findViewById(R.id.CouponsDetailsPhone);
categoryImage = (ImageView) findViewById(R.id.CouponsCategoryImage01);
couponsListLayout = (ListView) findViewById(R.id.CouponsListLayout);
backButton = (Button) findViewById(R.id.CouponsBackButton);
backButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
}
});
try {
entry = Data.storeMecrchantDetailMain.get(0);
merchantName.setText(entry.getMerchantName());
address.setText(entry.getAddress());
phone.setText(entry.getPhone());
ImageLoader imageLoader = new ImageLoader(CouponsActivity.this);
String categoryImg = Data.URL_BASE + entry.getCategoryImg();
categoryImage.setTag(categoryImg);
imageLoader.DisplayImage(categoryImg, CouponsActivity.this,
categoryImage);
adapter = new CustomAdapterCoupons(this, entry.getCouponsList());
couponsListLayout.setAdapter(adapter);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
class CustomAdapterCoupons extends BaseAdapter {
/* Variable Declaration */
private Context context;
private List<CouponBean> list;
private CouponBean entry;
public com.a.util.ImageLoader imageLoader;
private LayoutInflater inflater;
public CustomAdapterCoupons(Context context, List<CouponBean> list) {
this.context = context;
this.list = list;
inflater = (LayoutInflater) CouponsActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader = new com.abc.util.ImageLoader(context);
}
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public class ViewHolder {
public TextView couponName, couponCode, usageDescription,
expirationDate;
public ImageView couponImage;
}
public View getView(final int position, View convertView,
ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder = null;
entry = list.get(position);
if (convertView == null) {
convertView = inflater.inflate(R.layout.coupons_list_layout,
null);
holder = new ViewHolder();
holder.couponName = (TextView) convertView
.findViewById(R.id.CouponListCouponName);
holder.couponCode = (TextView) convertView
.findViewById(R.id.CouponListCouponCode);
holder.expirationDate = (TextView) convertView
.findViewById(R.id.CouponListDetailDate);
holder.usageDescription = (TextView) convertView
.findViewById(R.id.CouponListUsageDescription);
holder.couponImage = (ImageView) convertView
.findViewById(R.id.CouponListLeftImage);
convertView.setTag(holder);
// Set the display text
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.couponName.setText(entry.getCouponName());
holder.expirationDate.setText(context
.getString(R.string.Coupon_Expiration_Date)
+ "\n"
+ entry.getExpirationDate());
holder.usageDescription.setText(entry.getUsageDescription());
holder.couponCode.setText(entry.getCouponCode());
holder.couponImage.setTag(Data.URL_BASE_2 + entry.getCouponImage());
imageLoader.DisplayImage(Data.URL_BASE_2 + entry.getCouponImage(),
(Activity) context, holder.couponImage);
Log.v(Data.LOG3, "image" + entry.getCouponImage());
final Button savedMyCoupons = (Button) convertView
.findViewById(R.id.CouponListAddtoMyCouponButton);
if (entry.getSavedMyCoupons().equalsIgnoreCase("N")) {
savedMyCoupons.setText(context
.getString(R.string.Add_to_myCoupons));
savedMyCoupons.setBackgroundResource(R.drawable.done_btn);
savedMyCoupons.setTag(entry.getCouponId().toString());
savedMyCoupons.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
createProgressDialog();
new Loader()
.execute(savedMyCoupons.getTag().toString());
}
});
} else if (entry.getSavedMyCoupons().equalsIgnoreCase("Y")) {
savedMyCoupons.setText(context
.getString(R.string.Already_Added_to_my_coupons));
savedMyCoupons.setBackgroundColor(Color.WHITE);
savedMyCoupons.setTextColor(Color.BLACK);
}
// display the view corresponding to data at specified position
return convertView;
}
}
private void createProgressDialog() {
progressDialog = new ProgressDialog(context);
// progressDialog.setIcon(R.drawable.icon);
progressDialog.setTitle(R.string.Please_Wait);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setIndeterminate(true);
progressDialog.setIndeterminateDrawable(context.getResources()
.getDrawable(R.anim.simple_animation));
progressDialog.setMessage(context.getString(R.string.Please_Wait));
progressDialog.show();
}
@Override
public void onResume() {
Log.v(Data.LOG, "On Resume");
super.onResume();
}
class Loader extends AsyncTask<String, String, String> {
Boolean value;
protected String doInBackground(String... arg0) {
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(Data.URL_POST_DATA);
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("couponsubmit",
"submit"));
nameValuePairs.add(new BasicNameValuePair("sid",
Data.GET_SESSION_ID));
nameValuePairs.add(new BasicNameValuePair("api", "on"));
nameValuePairs.add(new BasicNameValuePair("couponid",
arg0[0]));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = httpclient.execute(httppost,
responseHandler);
// String result = responseBody;
Log.v(Data.LOG1, "Response : " + responseBody);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
} catch (Exception e) {
Log.e(Data.LOG, "" + e.getMessage());
e.printStackTrace();
}
LocateServices.getInstance().getStoreMerchantDetails(
entry.getMerchantID());
return null;
}
@Override
protected void onPostExecute(String result) {
// TODOAuto-generated method stub
super.onPostExecute(result);
handler.sendEmptyMessage(0);
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
entry = Data.storeMecrchantDetailMain.get(0);
adapter = new CustomAdapterCoupons(context,
entry.getCouponsList());
couponsListLayout.setAdapter(adapter);
progressDialog.dismiss();
}
};
}
}
Thanks for any help.
new Handler().postDelayed(new Runnable() {
public void run() {
//Your method to get data from web here
}
}, 1000); //delay in milliseconds
new AsynBackground().execute(u);
private class AsynBackground extends AsyncTask<String, Void, Void>
{
@Override
protected Void doInBackground(String... params) {
// TODO Auto-generated method stub
fetchDistancesFromGoogle(params[0]);
return null;
}
}