当前位置: 代码迷 >> Android >> 为什么空指针异常啊
  详细解决方案

为什么空指针异常啊

热度:10   发布时间:2016-05-01 20:59:32.0
为什么空指针错误啊???
问题:我用debug测试的时候categoryArray[i]明明有值啊,可是为什么就是传不到list里面呢?

log:
Java code
06-14 09:33:00.830: E/AndroidRuntime(736): FATAL EXCEPTION: main06-14 09:33:00.830: E/AndroidRuntime(736): java.lang.RuntimeException: Unable to start activity ComponentInfo{napo.news.activity/napo.news.activity.WenpingNewsActivity}: java.lang.NullPointerException06-14 09:33:00.830: E/AndroidRuntime(736):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)06-14 09:33:00.830: E/AndroidRuntime(736):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)06-14 09:33:00.830: E/AndroidRuntime(736):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)06-14 09:33:00.830: E/AndroidRuntime(736):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)06-14 09:33:00.830: E/AndroidRuntime(736):     at android.os.Handler.dispatchMessage(Handler.java:99)06-14 09:33:00.830: E/AndroidRuntime(736):     at android.os.Looper.loop(Looper.java:123)06-14 09:33:00.830: E/AndroidRuntime(736):     at android.app.ActivityThread.main(ActivityThread.java:4627)06-14 09:33:00.830: E/AndroidRuntime(736):     at java.lang.reflect.Method.invokeNative(Native Method)06-14 09:33:00.830: E/AndroidRuntime(736):     at java.lang.reflect.Method.invoke(Method.java:521)06-14 09:33:00.830: E/AndroidRuntime(736):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)06-14 09:33:00.830: E/AndroidRuntime(736):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)06-14 09:33:00.830: E/AndroidRuntime(736):     at dalvik.system.NativeStart.main(Native Method)06-14 09:33:00.830: E/AndroidRuntime(736): Caused by: java.lang.NullPointerException06-14 09:33:00.830: E/AndroidRuntime(736):     at napo.news.activity.WenpingNewsActivity.onCreate(WenpingNewsActivity.java:55)06-14 09:33:00.830: E/AndroidRuntime(736):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)06-14 09:33:00.830: E/AndroidRuntime(736):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)06-14 09:33:00.830: E/AndroidRuntime(736):     ... 11 more


java代码:
Java code
package napo.news.activity;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import napo.news.util.DensityUtil;import android.app.Activity;import android.os.Bundle;import android.view.Gravity;import android.view.ViewGroup.LayoutParams;import android.widget.GridView;import android.widget.LinearLayout;import android.widget.SimpleAdapter;public class WenpingNewsActivity extends Activity {    private final int COLUMNWIDTHPX = 55;    private int mColumnWidthDip;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        mColumnWidthDip = DensityUtil.px2dip(this, COLUMNWIDTHPX);        String[] categoryArray = getResources().getStringArray(                R.array.categories);        List<HashMap<String, String>> categories = new ArrayList<HashMap<String, String>>();        for (int i=0; i < categoryArray.length; i++) {            HashMap<String, String> hashMap = new HashMap<String, String>();            hashMap.put("category_title", categoryArray[i]);            categories.add(hashMap);        }                SimpleAdapter categoryAdapter = new SimpleAdapter(this, categories, R.layout.category_title, new String[]{"category_title"}, new int[] {R.id.category_title});        GridView category = new GridView(this);        category.setColumnWidth(mColumnWidthDip);        category.setNumColumns(GridView.AUTO_FIT);        category.setGravity(Gravity.CENTER);                int width = mColumnWidthDip * categories.size();        LayoutParams params = new LayoutParams(width,                LayoutParams.WRAP_CONTENT);        category.setLayoutParams(params);        category.setAdapter(categoryAdapter);                LinearLayout categoryList = (LinearLayout)findViewById(R.id.catgory_layout);        categoryList.addView(category);    }}
  相关解决方案