大佬教程收集整理的这篇文章主要介绍了android – 在触摸时更改gridview中项目的背景颜色,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
gridView.setOnTouchListener(new OnTouchListener() { public Boolean onTouch(View v,MotionEvent mE) { int action = me.getActionMasked(); float currentXPosition = me.getX(); float currentYPosition = me.getY(); int position = gridView.pointToPosition((int) currentXPosition,(int) currentYPosition); // Change the color of the key pressed ((TextView) gridView.getItemAtPosition(position)).setBACkgroundColor(Color.RED); return true; } }@H_696_8@ @H_262_5@编辑:Logcat跟踪 @H_262_5@12-10 15:34:28.081: E/InputEventReceiver(829): Exception dispatching input event. 12-10 15:34:28.081: E/messageQueue-JNI(829): Exception in messageQueue callBACk: handleReceiveCallBACk 12-10 15:34:28.221: E/messageQueue-JNI(829): java.lang.ClassCastException: java.lang.String cAnnot be cast to android.widget.TextView 12-10 15:34:28.221: E/messageQueue-JNI(829): at com.example.Helloworld.GridViewActivity$1.onTouch(GridViewActivity.java:62) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.View.dispatchTouchEvent(View.java:7122) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2170) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1905) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877) 12-10 15:34:28.221: E/messageQueue-JNI(829): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1925) 12-10 15:34:28.221: E/messageQueue-JNI(829): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1379) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.app.Activity.dispatchTouchEvent(Activity.java:2396) 12-10 15:34:28.221: E/messageQueue-JNI(829): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1873) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.View.dispatchPointerEvent(View.java:7307) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3174) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3119) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewRootImpl.doprocessInputEvents(ViewRootImpl.java:4155) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4134) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4226) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.os.messageQueue.nativePollOnce(Native Method) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.os.messageQueue.next(messageQueue.java:125) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.os.Looper.loop(Looper.java:124) 12-10 15:34:28.221: E/messageQueue-JNI(829): at android.app.ActivityThread.main(ActivityThread.java:4745) 12-10 15:34:28.221: E/messageQueue-JNI(829): at java.lang.reflect.Method.invokeNative(Native Method) 12-10 15:34:28.221: E/messageQueue-JNI(829): at java.lang.reflect.Method.invoke(Method.java:511) 12-10 15:34:28.221: E/messageQueue-JNI(829): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 12-10 15:34:28.221: E/messageQueue-JNI(829): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 12-10 15:34:28.221: E/messageQueue-JNI(829): at dalvik.system.NativeStart.main(Native Method) 12-10 15:34:28.263: D/AndroidRuntime(829): ShutTing down VM 12-10 15:34:28.263: W/dalvikvm(829): threadid=1: thread exiTing with uncaught exception (group=0x40a13300) 12-10 15:34:28.362: E/AndroidRuntime(829): FATAL EXCEPTION: main 12-10 15:34:28.362: E/AndroidRuntime(829): java.lang.ClassCastException: java.lang.String cAnnot be cast to android.widget.TextView 12-10 15:34:28.362: E/AndroidRuntime(829): at com.example.Helloworld.GridViewActivity$1.onTouch(GridViewActivity.java:62) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.View.dispatchTouchEvent(View.java:7122) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2170) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1905) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1877) 12-10 15:34:28.362: E/AndroidRuntime(829): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1925) 12-10 15:34:28.362: E/AndroidRuntime(829): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1379) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.app.Activity.dispatchTouchEvent(Activity.java:2396) 12-10 15:34:28.362: E/AndroidRuntime(829): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1873) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.View.dispatchPointerEvent(View.java:7307) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3174) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3119) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewRootImpl.doprocessInputEvents(ViewRootImpl.java:4155) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4134) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4226) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.os.messageQueue.nativePollOnce(Native Method) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.os.messageQueue.next(messageQueue.java:125) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.os.Looper.loop(Looper.java:124) 12-10 15:34:28.362: E/AndroidRuntime(829): at android.app.ActivityThread.main(ActivityThread.java:4745) 12-10 15:34:28.362: E/AndroidRuntime(829): at java.lang.reflect.Method.invokeNative(Native Method) 12-10 15:34:28.362: E/AndroidRuntime(829): at java.lang.reflect.Method.invoke(Method.java:511) 12-10 15:34:28.362: E/AndroidRuntime(829): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 12-10 15:34:28.362: E/AndroidRuntime(829): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 12-10 15:34:28.362: E/AndroidRuntime(829): at dalvik.system.NativeStart.main(Native Method)@H_696_8@
((TextView) gridView.getItemAtPosition(position)).setBACkgroundColor(Color.RED);@H_696_8@ @H_262_5@我真正需要的是@L_607_11@getChildAt而不是getItemAtPosition(返回一个String) @H_262_5@String s = (String) gridView.getItemAtPosition(position); TextView tv = (TextView) gridView.getChildAt(position); tv.setBACkgroundColor(Color.RED);@H_696_8@
以上是大佬教程为你收集整理的android – 在触摸时更改gridview中项目的背景颜色全部内容,希望文章能够帮你解决android – 在触摸时更改gridview中项目的背景颜色所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。