I have GridView with more Checkbox and i need know what is the checkBox state. As stated at the end of the post i received error when i insert RelativeLayout, ImageView and TextView in my XML.
i received this log:
05-05 22:03:29.375: E/AndroidRuntime(3443): FATAL EXCEPTION: main
05-05 22:03:29.375: E/AndroidRuntime(3443): Process: com.kirolm.instalacionesdep, PID: 3443
05-05 22:03:29.375: E/AndroidRuntime(3443): java.lang.NullPointerException
05-05 22:03:29.375: E/AndroidRuntime(3443): at com.kirolm.instalacionesdep.search.BuscarInstalacionesActividadFragment.ge tItemCheked(BuscarInstalacionesActividadFragment.java:218)
05-05 22:03:29.375: E/AndroidRuntime(3443): at com.kirolm.instalacionesdep.search.BuscarInstalacionesActividadFragment.on OptionsItemSelected(BuscarInstalacionesActividadFragment.java:123)
05-05 22:03:29.375: E/AndroidRuntime(3443): at android.app.Fragment.performOptionsItemSelected(Fragment.java:1806)
05-05 22:03:29.375: E/AndroidRuntime(3443): at android.app.FragmentManagerImpl.dispatchOptionsItemSelected(FragmentManager.java:1972)
05-05 22:03:29.375: E/AndroidRuntime(3443): at android.app.Activity.onMenuItemSelected(Activity.java:2603)
05-05 22:03:29.375: E/AndroidRuntime(3443): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1065)
05-05 22:03:29.375: E/AndroidRuntime(3443): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:741)
05-05 22:03:29.375: E/AndroidRuntime(3443): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
05-05 22:03:29.375: E/AndroidRuntime(3443): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:884)
05-05 22:03:29.375: E/AndroidRuntime(3443): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
05-05 22:03:29.375: E/AndroidRuntime(3443): at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:546)
05-05 22:03:29.375: E/AndroidRuntime(3443): at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:115)
05-05 22:03:29.375: E/AndroidRuntime(3443): at android.view.View.performClick(View.java:4445)
05-05 22:03:29.375: E/AndroidRuntime(3443): at android.view.View$PerformClick.run(View.java:18446)
05-05 22:03:29.375: E/AndroidRuntime(3443): at android.os.Handler.handleCallback(Handler.java:733)
05-05 22:03:29.375: E/AndroidRuntime(3443): at android.os.Handler.dispatchMessage(Handler.java:95)
05-05 22:03:29.375: E/AndroidRuntime(3443): at android.os.Looper.loop(Looper.java:136)
05-05 22:03:29.375: E/AndroidRuntime(3443): at android.app.ActivityThread.main(ActivityThread.java:5146)
05-05 22:03:29.375: E/AndroidRuntime(3443): at java.lang.reflect.Method.invokeNative(Native Method)
05-05 22:03:29.375: E/AndroidRuntime(3443): at java.lang.reflect.Method.invoke(Method.java:515)
05-05 22:03:29.375: E/AndroidRuntime(3443): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
05-05 22:03:29.375: E/AndroidRuntime(3443): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
05-05 22:03:29.375: E/AndroidRuntime(3443): at dalvik.system.NativeStart.main(Native Method)
I have this XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://ift.tt/nIICcg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<ImageView
android:id="@+id/buscar_instalaciones_actividad_fragment_imageview_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="center"
android:src="@drawable/header_buscar_actividad" />
<TextView
android:id="@+id/buscar_instalaciones_actividad_fragment_tv_titulo_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="center_horizontal"
android:text="@string/buscar_instalaciones_actividad_fragment_titulo_header"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
<GridView
android:id="@+id/buscar_instalaciones_actividad_fragment_gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:horizontalSpacing="0dp"
android:numColumns="4"
android:stretchMode="columnWidth"
android:verticalSpacing="0dp" >
</GridView>
and this is my getItemChecked() method:
public ArrayList<String> getItemCheked(){
ArrayList<String> checkResultArray = new ArrayList<String>();
int count = grid.getAdapter().getCount();
for(int i = 0; i < count; i++){
RelativeLayout itemLayout = (RelativeLayout)grid.getChildAt(i);
CheckBox chb = (CheckBox) itemLayout.findViewById(R.id.buscar_instalaciones_actividad_activity_grid_item_chb);
if(chb.isChecked()){
String valor = (String) chb.getTag();
checkResultArray.add(valor);
Log.e("Checking", "BuscarInstalacionesActividadActivity: El boton pulsado es: "+valor );
}
}
return checkResultArray;
}
The line 218 is this:
CheckBox chb = (CheckBox) itemLayout.findViewById(R.id.buscar_instalaciones_actividad_activity_grid_item_chb);
If i delete this in my xml, it runs ok, but i need that RelativeLayout, ImageView and textView.
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<ImageView
android:id="@+id/buscar_instalaciones_actividad_fragment_imageview_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="center"
android:src="@drawable/header_buscar_actividad" />
<TextView
android:id="@+id/buscar_instalaciones_actividad_fragment_tv_titulo_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="center_horizontal"
android:text="@string/buscar_instalaciones_actividad_fragment_titulo_header"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
Aucun commentaire:
Enregistrer un commentaire