【发布时间】:2014-03-10 06:05:27
【问题描述】:
我正在开发一个安卓应用程序。
我的要求是使用由两个不同控件运行的相同代码,一个是 imageButton,第二个是 Button。
为此,我使用的是这种方法。
public void onClick_Office_Mgmt(View v)
{
Intent i=new Intent(Admin_Dashboard.this,Office_Mgmt.class);
i.putExtra("USERNAME", unm);
startActivity(i);
}
我用这个方法来Buttons OnClick 事件。
<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"/>
但是当我尝试在 imageButtons OnClick 事件中调用相同的方法时,它会导致错误。
<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" />
谁能告诉它为什么会发生?以及如何解决这个问题?
我的 LogCat 错误是:
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)
【问题讨论】:
-
您遇到了哪个错误?
-
我遇到了运行时错误。我的应用程序调用 web 服务,但是当我将 Imagebutton 更改为按钮时它不起作用
-
发布 logcat 错误堆栈跟踪...
-
当然。现在请检查问题中的日志。
-
仍然面临问题或问题已解决?
标签: android xml button layout imagebutton