Adapter中的传值代码
edit.setOnClickListener(newView.OnClickListener() {
@Override
public voidonClick(View v) {
Intent intent =new Intent(context,A.class);
Bundle bundle =new Bundle();
bundle.putInt("type",40);
// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//不是在Activity中进行跳转,需要添加这个方法,网友说这样可以,但是我测试后发现,这句话的存在会导致一个严重的问题,就是我们在onActivityResult中,收不到Activity A传过来的值,不用这一句,程序就可以正常了
bundle.putSerializable("k",mdata.get(positionNow));
intent.putExtras(bundle);
context.startActivityForResult(intent,40);
}
});
从其他Activity返回值的接收方法,就是在该Actiivty中重写onActivityResult()方法
@Override
protected voidonActivityResult(intrequestCode, intresponseCode,
Intent intent) {
super.onActivityResult(requestCode,responseCode,intent);
if(requestCode ==40){
if(responseCode == Constants.ReturnCode_OK){
int type = intent.getExtras().getInt("type");
}
}
}
/** * 判断某个服务是否正在运行的方法 *
* @param mContext * @param serviceName * 是包名+服务的类名(例如:net.loonggg.testbackstage.TestService) * @return true代表正在运行,false代表服务没有正在运行 */
public boolean isServiceWork(Context mContext, String serviceName) { boolean isWork = false; ActivityManager myAM = (ActivityManager) mContext .getSystemService(Context.ACTIVITY_SERVICE); ListmyList = myAM.getRunningServices(100);
if (myList.size() <= 0) {
return false;
}
for (int i = 0; i < myList.size(); i++) {
String mName = myList.get(i).service.getClassName().toString();
if (mName.equals(serviceName)) {
isWork = true;
break;
}
}
return isWork;
}
网友评论