在我的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)