自定义表格列表视图中的Android显示自定义复选框

时间:2016-03-17 09:37:32

标签: android checkbox

在我的Android应用程序中,我有一个自定义表列表视图,每行都有一个隐藏的复选框。

目前我已在我的活动中使用此代码,以便在按下按钮时显示复选框:

x = 1;
while (x < ListView.getChildCount()) {
    CheckBox SelectCheckBox = (CheckBox) ListView.getChildAt(x).findViewById(R.id.SelectCheckBox);
    SelectCheckBox.setChecked(false);

    SelectCheckBox = (CheckBox) ListView.getChildAt(x).findViewById(R.id.SelectCheckBox);
    SelectCheckBox.alpha = 1.0;

    x++;
}

问题是,此代码仅显示可见行的复选框。 现在我在这里找到了一个解决方案来改变我的... ...部分:

for ( int x = 0; x < ListView.getAdapter().getCount(); x++) {

使用此代码我应该选择所有行(不仅是可见行) 但下一个问题是,我的应用程序此时崩溃了:

CheckBox SelectCheckBox = (CheckBox) ListView.getChildAt(x).findViewById(R.id.SelectCheckBox);

我想我也有这条线。 但我必须改变什么? thx:)

日志:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
        at xxx.Overview.onOptionsItemSelected(Overview.java:309)
        at android.support.v4.app.Fragment.performOptionsItemSelected(Fragment.java:2070)
        at android.support.v4.app.FragmentManagerImpl.dispatchOptionsItemSelected(FragmentManager.java:2159)
        at android.support.v4.app.FragmentController.dispatchOptionsItemSelected(FragmentController.java:295)
        at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:367)
        at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:147)
        at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:100)
        at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:100)
        at android.support.v7.app.ToolbarActionBar$2.onMenuItemClick(ToolbarActionBar.java:68)
        at android.support.v7.widget.Toolbar$1.onMenuItemClick(Toolbar.java:172)
        at android.support.v7.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:760)
        at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:811)
        at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
        at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:958)
        at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:948)
        at android.support.v7.widget.ActionMenuView.invokeItem(ActionMenuView.java:618)
        at android.support.v7.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:139)
        at android.view.View.performClick(View.java:5198)
        at android.view.View$PerformClick.run(View.java:21147)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:5417)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

0 个答案:

没有答案