Question

I am developing an android application.

My requirement is to use same code run by two different control one is imageButton and second is Button.

For that i am using the method that is.

 public void onClick_Office_Mgmt(View v)
    {
        Intent i=new Intent(Admin_Dashboard.this,Office_Mgmt.class);        
        i.putExtra("USERNAME", unm);        
        startActivity(i);   
    }

I use this method to Buttons OnClick event.

<Button
            android:id="@+id/btn_office_mgt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="?android:selectableItemBackground"
            android:onClick="onClick_Office_Mgmt"
            android:text="Office Mgt"
            android:textColor="#ff0000"/>

But when i try to call the same method in imageButtons OnClick event it causes an error.

<ImageButton
            android:id="@+id/ibtn_office_mgt"
            android:layout_width="108dp"
            android:layout_height="108dp"
            android:background="?android:selectableItemBackground"
            android:onClick="onClick_Office_Mgmt"
            android:scaleType="fitXY"
            android:src="@drawable/office_icon" />

Can anyone tell why it occurs? and how to solve the problem?

My LogCat Error is:

02-12 05:27:24.134: E/ActivityThread(601): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d1edf0 that was originally bound here
02-12 05:27:24.134: E/ActivityThread(601): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d1edf0 that was originally bound here
02-12 05:27:24.134: E/ActivityThread(601):  at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
02-12 05:27:24.134: E/ActivityThread(601):  at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
02-12 05:27:24.134: E/ActivityThread(601):  at android.app.ContextImpl.bindService(ContextImpl.java:1418)
02-12 05:27:24.134: E/ActivityThread(601):  at android.app.ContextImpl.bindService(ContextImpl.java:1407)
02-12 05:27:24.134: E/ActivityThread(601):  at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
02-12 05:27:24.134: E/ActivityThread(601):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
02-12 05:27:24.134: E/ActivityThread(601):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
02-12 05:27:24.134: E/ActivityThread(601):  at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
02-12 05:27:24.134: E/ActivityThread(601):  at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
02-12 05:27:24.134: E/ActivityThread(601):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
02-12 05:27:24.134: E/ActivityThread(601):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
02-12 05:27:24.134: E/ActivityThread(601):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
02-12 05:27:24.134: E/ActivityThread(601):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-12 05:27:24.134: E/ActivityThread(601):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-12 05:27:24.134: E/ActivityThread(601):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-12 05:27:24.134: E/ActivityThread(601):  at java.lang.Thread.run(Thread.java:856)
02-12 05:27:24.153: E/StrictMode(601): null
02-12 05:27:24.153: E/StrictMode(601): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d1edf0 that was originally bound here
02-12 05:27:24.153: E/StrictMode(601):  at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
02-12 05:27:24.153: E/StrictMode(601):  at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
02-12 05:27:24.153: E/StrictMode(601):  at android.app.ContextImpl.bindService(ContextImpl.java:1418)
02-12 05:27:24.153: E/StrictMode(601):  at android.app.ContextImpl.bindService(ContextImpl.java:1407)
02-12 05:27:24.153: E/StrictMode(601):  at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
02-12 05:27:24.153: E/StrictMode(601):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
02-12 05:27:24.153: E/StrictMode(601):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
02-12 05:27:24.153: E/StrictMode(601):  at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
02-12 05:27:24.153: E/StrictMode(601):  at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
02-12 05:27:24.153: E/StrictMode(601):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
02-12 05:27:24.153: E/StrictMode(601):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
02-12 05:27:24.153: E/StrictMode(601):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
02-12 05:27:24.153: E/StrictMode(601):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-12 05:27:24.153: E/StrictMode(601):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-12 05:27:24.153: E/StrictMode(601):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-12 05:27:24.153: E/StrictMode(601):  at java.lang.Thread.run(Thread.java:856)
02-12 05:27:24.183: W/ActivityManager(285): Unbind failed: could not find connection for android.os.BinderProxy@4144d778
02-12 05:27:24.204: E/ActivityThread(601): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d1f2b8 that was originally bound here
02-12 05:27:24.204: E/ActivityThread(601): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d1f2b8 that was originally bound here
02-12 05:27:24.204: E/ActivityThread(601):  at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
02-12 05:27:24.204: E/ActivityThread(601):  at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
02-12 05:27:24.204: E/ActivityThread(601):  at android.app.ContextImpl.bindService(ContextImpl.java:1418)
02-12 05:27:24.204: E/ActivityThread(601):  at android.app.ContextImpl.bindService(ContextImpl.java:1407)
02-12 05:27:24.204: E/ActivityThread(601):  at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
02-12 05:27:24.204: E/ActivityThread(601):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
02-12 05:27:24.204: E/ActivityThread(601):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
02-12 05:27:24.204: E/ActivityThread(601):  at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)
02-12 05:27:24.204: E/ActivityThread(601):  at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)
02-12 05:27:24.204: E/ActivityThread(601):  at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)
02-12 05:27:24.204: E/ActivityThread(601):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
02-12 05:27:24.204: E/ActivityThread(601):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
02-12 05:27:24.204: E/ActivityThread(601):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
02-12 05:27:24.204: E/ActivityThread(601):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-12 05:27:24.204: E/ActivityThread(601):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-12 05:27:24.204: E/ActivityThread(601):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-12 05:27:24.204: E/ActivityThread(601):  at java.lang.Thread.run(Thread.java:856)
Was it helpful?

Solution

Ofcorse it is possible.

I think you have an error because of declaration of widgets.

You can use it via method.

Just the thing is you must remove declaration of buttons and imagebutton.

Like

button1=(button)findViewById(R.id.Button1);

OTHER TIPS

I think this issue is coming when you are using emulator to do testing. A simpler fix is to disable "Exchange Services" in the emulated device under

Settings -> Apps -> All

Second solution is, you can remove your current emulator and create the same one. Sometimes this solves it.

Edit

If Host GPU in emulator is enabled, just disable it and try again.

What you are getting problem is related with emulator. If you have a device, try to check it there once. This will save your time.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top