美文网首页
Adapter中控件点击跳转Activity传值问题

Adapter中控件点击跳转Activity传值问题

作者: 念念不忘_2016 | 来源:发表于2017-07-17 14:28 被阅读0次

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;

}

相关文章

网友评论

      本文标题:Adapter中控件点击跳转Activity传值问题

      本文链接:https://www.haomeiwen.com/subject/zugfkxtx.html