从自定义适配器的ListView中改变形状的背景颜色 [英] Changing a shape's background color in ListView from Custom Adapter

查看:145
本文介绍了从自定义适配器的ListView中改变形状的背景颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有有一些人和他们独特的颜色一个ListView,我创建了XML一个矩形,然后把它作为一个的ImageView的背景。当我试图改变它的颜色它崩溃。

I have a ListView which has some people and their unique colors, i created a rectangle with xml then put it as a background of a ImageView. When i try to change its color it crashes.

下面是我的自定义适配器的getView()方法:

Here is my Custom Adapter's getView() method:

  vi = inflater.inflate(R.layout.sonuclisterow, null);
  ImageView adayRenk = (ImageView)vi.findViewById(R.id.adayRenk);
  GradientDrawable sd = (GradientDrawable) adayRenk.getBackground();
  sd.setColor(Color.BLACK); //Color.BLACK is just for trying to change, there will be variable later

形状:

 <?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
   <solid android:color="#F0F0F0" />
</shape> 

LogCat中:

LogCat:

01-05 19:11:32.545: D/dalvikvm(30161): GC_FOR_ALLOC freed 5735K, 23% free 20374K/26183K, paused 18ms, total 18ms
01-05 19:11:32.665: D/AndroidRuntime(30161): Shutting down VM
01-05 19:11:32.665: W/dalvikvm(30161): threadid=1: thread exiting with uncaught exception (group=0x40f24300)
01-05 19:11:32.675: E/AndroidRuntime(30161): FATAL EXCEPTION: main
01-05 19:11:32.675: E/AndroidRuntime(30161): java.lang.NullPointerException
01-05 19:11:32.675: E/AndroidRuntime(30161):    at com.paperless.custom.LazyAdapter2.getView(LazyAdapter2.java:63)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.AbsListView.obtainView(AbsListView.java:2267)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.ListView.measureHeightOfChildren(ListView.java:1244)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.ListView.onMeasure(ListView.java:1156)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.View.measure(View.java:15172)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.RelativeLayout.measureChild(RelativeLayout.java:602)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:415)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.View.measure(View.java:15172)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1038)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:576)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.View.measure(View.java:15172)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.View.measure(View.java:15172)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:833)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.View.measure(View.java:15172)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2148)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.View.measure(View.java:15172)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1848)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1100)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1273)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4212)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:736)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.Choreographer.doCallbacks(Choreographer.java:566)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.Choreographer.doFrame(Choreographer.java:536)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:722)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.os.Handler.handleCallback(Handler.java:615)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.os.Handler.dispatchMessage(Handler.java:92)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.os.Looper.loop(Looper.java:137)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at android.app.ActivityThread.main(ActivityThread.java:4745)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at java.lang.reflect.Method.invokeNative(Native Method)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at java.lang.reflect.Method.invoke(Method.java:511)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
01-05 19:11:32.675: E/AndroidRuntime(30161):    at dalvik.system.NativeStart.main(Native Method)

63 LazyAdapter2行是 sd.setColor(Color.BLACK);

推荐答案

背景必须使用的 的android:背景 ImageView的财产

这篇关于从自定义适配器的ListView中改变形状的背景颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆