使用sparceboolean数组在android中为水平列表视图保留复选框状态

使用sparceboolean数组在android中为水平列表视图保留复选框状态,android,baseadapter,Android,Baseadapter,我在做什么: 我试图在片段中使用水平列表视图 我正在使用 我使用稀疏布尔数组在crool上保留复选框状态 我能做的: 使用该解决方案,我能够实现水平滚动 出现了什么问题: 但当我尝试为Space boolean数组添加代码逻辑时,我发现 获取此错误,如logcat中所示 行mCheckBox.setTag(位置)中出现错误 我如何解决这个问题 item\u mean\u type.xml <?xml version="1.0" encoding="utf-8"?> &l

我在做什么

  • 我试图在片段中使用水平列表视图
  • 我正在使用
  • 我使用稀疏布尔数组在crool上保留复选框状态
我能做的

  • 使用该解决方案,我能够实现水平滚动
出现了什么问题

  • 但当我尝试为Space boolean数组添加代码逻辑时,我发现 获取此错误,如logcat中所示
  • mCheckBox.setTag(位置)中出现错误
  • 我如何解决这个问题

item\u mean\u type.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#000000"
    android:orientation="vertical" >


    <ImageView
        android:id="@+id/image"
        android:layout_width="150dip"
        android:layout_height="150dip"
        android:scaleType="centerCrop"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:textColor="#000" />

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="CheckBox" />

</RelativeLayout>
此处
(复选框)retval.findViewById(R.id.ch_bx)
正在返回
null
实例,因为布局中没有id为
R.id.ch_bx
的复选框

因此,替换

retval.findViewById(R.id.ch_bx)


查看布局文件。该复选框的ID为
checkBox1

@Gopal Rao。。。。是的,我检查了它返回的空值。。。我怎样才能纠正这个问题。。。任何ideas@Gopal饶。。。。是的,这就是解决办法。。。把你的答复贴出来,这样我就可以接受了it@PiyushGupta我在这里你好,哥们,你在吗?
06-04 12:45:53.270: E/AndroidRuntime(7658): FATAL EXCEPTION: main
06-04 12:45:53.270: E/AndroidRuntime(7658): java.lang.NullPointerException
06-04 12:45:53.270: E/AndroidRuntime(7658):     at com.findmybuffet.fragments.FrgMdFilter$1.getView(FrgMdFilter.java:293)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at com.findmybuffet.utilities.HorizontalListView.fillListRight(HorizontalListView.java:232)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at com.findmybuffet.utilities.HorizontalListView.fillList(HorizontalListView.java:217)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at com.findmybuffet.utilities.HorizontalListView.onLayout(HorizontalListView.java:195)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.View.layout(View.java:11180)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewGroup.layout(ViewGroup.java:4203)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1617)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1401)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.View.layout(View.java:11180)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewGroup.layout(ViewGroup.java:4203)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.RelativeLayout.onLayout(RelativeLayout.java:925)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.View.layout(View.java:11180)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewGroup.layout(ViewGroup.java:4203)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.RelativeLayout.onLayout(RelativeLayout.java:925)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.View.layout(View.java:11180)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewGroup.layout(ViewGroup.java:4203)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.RelativeLayout.onLayout(RelativeLayout.java:925)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.View.layout(View.java:11180)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewGroup.layout(ViewGroup.java:4203)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.View.layout(View.java:11180)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewGroup.layout(ViewGroup.java:4203)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.View.layout(View.java:11180)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewGroup.layout(ViewGroup.java:4203)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:678)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.View.layout(View.java:11180)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewGroup.layout(ViewGroup.java:4203)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.View.layout(View.java:11180)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewGroup.layout(ViewGroup.java:4203)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.View.layout(View.java:11180)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewGroup.layout(ViewGroup.java:4203)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.View.layout(View.java:11180)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewGroup.layout(ViewGroup.java:4203)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1468)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2418)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.os.Looper.loop(Looper.java:137)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at android.app.ActivityThread.main(ActivityThread.java:4340)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at java.lang.reflect.Method.invokeNative(Native Method)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at java.lang.reflect.Method.invoke(Method.java:511)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-04 12:45:53.270: E/AndroidRuntime(7658):     at dalvik.system.NativeStart.main(Native Method)
retval.findViewById(R.id.ch_bx)
retval.findViewById(R.id.checkBox1)