android bindservice方法,Android bindservice方法返回false

android bindservice方法,Android bindservice方法返回false我想从另一个类(BaseExpandableListAdapter)的活动中调用一个方法。活动中的方法启动服务并调用bindService(,,)方法。但是,bindService方法总是返回false。我查了其他类似的帖子,但没有一个解决了我的问题。任何评论非常感谢。Androidbindservice方法返回false这里是BaseExpendableListAdapter类中,我调用该方法…

大家好,又见面了,我是你们的朋友全栈君。

我想从另一个类(BaseExpandableListAdapter)的活动中调用一个方法。活动中的方法启动服务并调用bindService(,,)方法。但是,bindService方法总是返回false。我查了其他类似的帖子,但没有一个解决了我的问题。任何评论非常感谢。Android bindservice方法返回false

这里是BaseExpendableListAdapter类中,我调用该方法的活动:

class myExpandableListAdapter extends BaseExpandableListAdapter {

private Context _context;

private List _listDataHeader; // header titles

// child data in format of header title, child title

private HashMap _listDataChild;

private TextView myroutes_distance=null;

private TextView myroutes_time=null;

private TextView myroutes_speed=null;

public myExpandableListAdapter(Context context, List listDataHeader,

HashMap listChildData) {

this._context = context;

this._listDataHeader = listDataHeader;

this._listDataChild = listChildData;

}

@Override

public View getChildView(int groupPosition, final int childPosition,

boolean isLastChild, View convertView, final ViewGroup parent) {

MyActivity myactivity = new MyActivity();

myactivity.continue(_context.getApplicationContext()); // continue is the method that I’m calling which is within the activity

}

这里与方法继续活动:

public class MyActivity extends FragmentActivity implements

MyService.Callbacks{

boolean isBound = false;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

}

public void continue(Context ctx){

current_intent = new Intent(ctx.getApplicationContext(), MyService.class);

ctx.getApplicationContext().startService(current_intent); // This method works fine.

isBound = ctx.getApplicationContext().bindService(current_intent, mConnection, Context.BIND_AUTO_CREATE); // Here is where I have problem. isBound is always false.

}

public ServiceConnection mConnection = new ServiceConnection() {

@Override

public void onServiceConnected(ComponentName className,IBinder service) {

//

Myservice.LocalBinder binder = (MyService.LocalBinder) service;

myservice = binder.getServiceInstance(); //Get instance of your service!

myservice.registerClient(MyActivity.this); //Activity register in the service as client for callabcks!

}

}

public void setup(){

current_intent = new Intent(MyActivity.this, MyService.class);

startService(current_intent);

isBound = bindService(current_intent, mConnection, Context.BIND_AUTO_CREATE);

// both startService and bindService methods work fine here.

}

}

请注意,我用setup()方法中的类似命令,它工作得很好,但是当我在continue()方法中使用bindservice()方法时,绑定失败。

+0

你为什么在getChildView实例在MainActivity()? –

+0

那么因为否则,我无法从其他活动中引用MyActivity中的继续方法。 –

+1

首先,您不应该从其他活动中调用该方法,而是在引用该活动的适配器中,它是’_context’。其次,你应该从不**自己实例化活动。 –

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140606.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 图论-树的最大路

    图论-树的最大路

    2021年11月29日
    38
  • 四位数除以两位数的除法算式_4整除2

    四位数除以两位数的除法算式_4整除2原题链接这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 ——

    2022年8月8日
    6
  • 谢烟客———Linux之Bash基础特性(1)

    谢烟客———Linux之Bash基础特性(1)

    2022年3月5日
    40
  • LTE学习之路(15)——QCI

    LTE学习之路(15)——QCIQCI表示QoS类别指示。这是一种特定标识,其定义了LTE数据包通信的质量QCI类别范围:1~9(每个类别的定义如下表所示)注意:通过‘ActivatedefaultEPSbearercon

    2022年8月4日
    2
  • 0.九九乘法表[递归]

    0.九九乘法表[递归]

    2021年9月13日
    58
  • Kafka集群扩容「建议收藏」

    Kafka集群扩容「建议收藏」Kafka集群的服务发现是有zk实现的,因此想kafka集群添加新的broker就非常容易。我们只需要为新的broker设置一个唯一的broker.id,然后启动新增的kafka就行。Kafka集群会自动发现新增的broker并同步原数据,包括当前集群有哪些topics以及topics的分区信息等。但是我们需要的注意的一点,新增的broker不能分担之前已经创建的topic的负载,必须手动执行…

    2022年5月16日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号