-Code in Aktivität:Alerdialog mit Gridview (Imageadpater)
public void iconSelector(View view) {
CoordinatorLayout coordinatorLayout = (CoordinatorLayout) findViewById(R.id.create_coordinator);
LayoutInflater inflater = getLayoutInflater();
View dialogView = inflater.inflate(R.layout.item_icon_grid_layout, coordinatorLayout, false);
GridView gridView = (GridView) dialogView.findViewById(R.id.itemIconGridLayout);
database = new Database(this);
mId = database.getLastIdOD();
if(mId>=1) {
iconList = database.getIconList();
}
database.close();
gridView.setAdapter(new IconsAdapter(getApplicationContext(),iconList));
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
mIcon = iconList.get(position).getName();
}
});
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(dialogView);
builder.setTitle(R.string.iconChoose);
mIconSelectorDialog= builder.show();
}
-Code in IconsAdapter:
public class IconsAdapter extends BaseAdapter {
private Context mContext;
List<Icon> iconList;
public IconsAdapter(Context context,List<Icon> list){
mContext = context;
iconList = list;
int d = iconList.size();
String i= ""+d;
Log.d("MyLogIconAdapter",iconList.get(0).getName());
Log.d("MyLog",i);
}
public int getCount() {
return iconList.size();
}
public Object getItem(int position) {
return iconList.get(position).getId();
}
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View grid;
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
grid = new View(mContext);
grid = inflater.inflate(R.layout.item_icon_grid,null);
ImageView imageView = (ImageView) grid.findViewById(R.id.imageItemIconGrid);
int iconResId = mContext.getResources().getIdentifier(iconList.get(position).getName(), "drawable", mContext.getPackageName());
imageView.setImageResource(iconResId);
} else {
grid = (View) convertView;
}
return grid;
}
}
Item_icon_grid:
<ImageView
android:id="@+id/imageItemIconGrid"
android:src="@drawable/ic_drafts_white_24dp"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_gravity="center" />
item_icon_grid_layout:
<GridView
android:id="@+id/itemIconGridLayout"
android:numColumns="auto_fit"
android:background="#ffffff"
android:verticalSpacing="5dp"
android:horizontalSpacing="5dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
</GridView>
Log:
Schwerwiegende Ausnahme: main Prozess: com.universe.time.officereminder, PID: 25213 java.lang.NullPointerException: Versuch virtuelle Methode ‚VOID android.widget.ImageView aufzurufen .setImageResource (int) 'für eine Nullobjektreferenz bei com.universe.time.proffesionaldiary.adapters.IconsAdapter.getView (IconsAdapter.java:60) bei android.widget.AbsListView.obtainView (AbsListView.java:2828) bei android.widget.GridView.onMeasure (GridView.java:1064) bei android.view.View.measure (View.java:18647) bei android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5832) bei android.widget.LinearLayout.measureChildBeforeLayout (Linearlayout. java: 1435) bei android.widget.LinearLayout.measureVertical (LinearLayout.java:721) bei android.widget.LinearLayout.onMeasure (LinearLayout.java:612) bei android.view.View.measure (View.java: 18647) bei android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5832) bei android.widget.FrameLayout.onMeasure (FrameLayout.java:430) bei android.view.View.measure (View.java:18647) bei android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5832) bei android.widget.FrameLayout.onMeasure (FrameLayout.java:430) bei android .view.View.measure (View.java:18647) bei android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5832) bei android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1435) bei android.widget .LinearLayout.measureVertical (LinearLayout.java:721) bei android.widget.LinearLayout.onMeasure (LinearLayout.java:612) bei android.view.View.measure (View.java:18647) bei android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5832) bei android.widget.FrameLayout.onMeasure (FrameLayout.java:430) bei android.support.v7.widget.ContentFrameLayout.onMeasure (ContentFrameLayout.java: 135) bei android.view.View.measure (View.java:18647) bei android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5832) bei android.widget.FrameLayout.onMeasure (FrameLayout.java:430) bei android.view.View.measure (View.java:18647) bei android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5832) bei android.widget.FrameLayout.onMeasure (FrameLayout.java:430) bei android.view.View.measure (View.java:18647) bei android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5832) bei android.widget.LinearLayout. measureChildBeforeLayout (LinearLayout.java:1435) bei android.widget.LinearLayout.measureVertical (LinearLayout.java:721) bei android.widget.LinearLayout.onMeasure (LinearLayout.java:612) bei android.view.View.measure (View.java:18647) bei android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:5832) bei android.widget.FrameLayout.onMeasure (FrameLayout.java: 430) bei com.android.internal.policy.impl.PhoneWindow $ DecorView.onMeasure (PhoneWindow.java:3012) bei android.view.View.measure (View.java:18647) bei android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:2298) bei android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:1320) bei android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:1588) bei android.view.ViewRootImpl.doTraversal (ViewRootImpl. java: 1230) bei android.view.ViewRootImpl $ TraversalRunnable.run (ViewRootImpl.java:6748) bei android.view.Choreographer $ CallbackRecord.run (Choreographer.java:777) bei android.view.Choreographer.doCallbacks (Choreographer.java:590) bei android.view.Choreographer.doFrame (Choreographer.java:560) bei android.view.Choreographer $ FrameDisplayEventReceiver.run (Choreographer.java:763) bei android.os.Handler.handleCallback (Handler.java:739) bei android.os.Handler.dispatchMessage (Handler.java:95) bei android.os.Looper.loop (Looper.java:145) bei android .app.ActivityThread.main (ActivityThread.java:6126) bei java.lang.reflect.Method.invoke (systemeigene Methode) bei java.lang.reflect.Method.invoke (Method.java:372) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1399) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1194)
von Ihrem Adapter Du zum Zeitpunkt der setImageResources null Bilder werden immer – Manifest
Mögliches Duplikat [Was ist eine Null-Zeiger-Ausnahme, und wie kann ich es beheben?] (Http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how-do-fix-it) –