Android ArrayAdapter正在获取空上下文

Android ArrayAdapter正在获取空上下文,android,json,listview,android-custom-view,Android,Json,Listview,Android Custom View,NullPointerException android.widget.ArrayAdapter.init(ArrayAdapter.java)只是将Arraylist值添加到customAdapter类中,并将该值设置到listview中请参见下面的代码帮助 我的logcat错误: 01-22 14:50:46.049: E/i(26881): بعد بهش میگن با نجیب جمله بساز :میگه یدونه کت دارم نه جیب داره نه دکمه...!!

NullPointerException android.widget.ArrayAdapter.init(ArrayAdapter.java)只是将Arraylist值添加到customAdapter类中,并将该值设置到listview中请参见下面的代码帮助

我的logcat错误:

01-22 14:50:46.049: E/i(26881): بعد بهش میگن با نجیب جمله بساز :میگه یدونه کت دارم نه جیب داره نه دکمه...!!
01-22 14:50:46.049: E/i(26881): به یک نفر میگن با جام جم جمله بساز میگه :مامان بیا جامو جم کن...
01-22 14:50:46.049: W/dalvikvm(26881): threadid=1: thread exiting with uncaught exception (group=0x417e9a08)
01-22 14:50:46.059: E/AndroidRuntime(26881): FATAL EXCEPTION: main
01-22 14:50:46.059: E/AndroidRuntime(26881): java.lang.NullPointerException
01-22 14:50:46.059: E/AndroidRuntime(26881):    at android.widget.ArrayAdapter.init(ArrayAdapter.java)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at android.widget.ArrayAdapter.<init>(ArrayAdapter.java)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at it.gmariotti.cardslib.library.internal.CardArrayAdapter.<init>(CardArrayAdapter.java:116)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at ir.reza.smss.Fragments.TabFragment1.populateSpinner(TabFragment1.java:75)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at ir.reza.smss.GetCategories.onPostExecute(GetCategories.java:88)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at ir.reza.smss.GetCategories.onPostExecute(GetCategories.java:1)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at android.os.AsyncTask.finish(AsyncTask.java)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at android.os.AsyncTask.access$600(AsyncTask.java)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at android.os.Handler.dispatchMessage(Handler.java)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at android.os.Looper.loop(Looper.java)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at android.app.ActivityThread.main(ActivityThread.java)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at java.lang.reflect.Method.invokeNative(Native Method)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at java.lang.reflect.Method.invoke(Method.java)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
01-22 14:50:46.059: E/AndroidRuntime(26881):    at dalvik.system.NativeStart.main(Native Method)
[代码>01-22 14:50:01-22 14:50:50:17.04 9:46.09:17:17:40:40:50:01-22 14:50:01-22 22 14:50:50:50:50:01-22 14 14:50:50:40:40.04 9:14:14:14:14:14:14:14:14:14:14:10 10 10 10 10 10 10 10 10 10:14.10 10 10 10 10 10 10:14:14:14:14:14:14:17:10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10:14:14:14:14:14:14:14:14:14:14:14:14:14:14:14:14:14:14:14:14:14:14:14:14 14 14 14 14 14:14 14 14:14:14:14:14:14:14:14 14 14 14 14:14 14 14 14 14:14:14:14 14 14 14 14:45 1740بد㶓ههههکهه。。。!! 17-22 14:50:22 14:50:50:50:46:46.049:E/i(26881):50:50:50:50:50:50:50:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:17:14:14:17:17:17:14:14:14:14:14:14:14:14:17:14:14:14:14:14:14:14:14:14:14:14:14:14:14:50:50:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:40:مکن。。。 01-22 14:50:46.049:W/dalvikvm(26881):threadid=1:线程以未捕获异常退出(组=0x417e9a08) 01-22 14:50:46.059:E/AndroidRuntime(26881):致命异常:主 01-22 14:50:46.059:E/AndroidRuntime(26881):java.lang.NullPointerException 01-22 14:50:46.059:E/AndroidRuntime(26881):位于android.widget.ArrayAdapter.init(ArrayAdapter.java) 01-22 14:50:46.059:E/AndroidRuntime(26881):在android.widget.ArrayAdapter.(ArrayAdapter.java)上 01-22 14:50:46.059:E/AndroidRuntime(26881):at it.gmarioti.cardslib.library.internal.cardarayadapter.(cardarayadapter.java:116) 01-22 14:50:46.059:E/AndroidRuntime(26881):在ir.reza.smss.Fragments.TabFragment1.populateSpinner(TabFragment1.java:75) 01-22 14:50:46.059:E/AndroidRuntime(26881):在ir.reza.smss.GetCategories.onPostExecute(GetCategories.java:88)上 01-22 14:50:46.059:E/AndroidRuntime(26881):在ir.reza.smss.GetCategories.onPostExecute(GetCategories.java:1)中 01-22 14:50:46.059:E/AndroidRuntime(26881):在android.os.AsyncTask.finish(AsyncTask.java)上 01-22 14:50:46.059:E/AndroidRuntime(26881):在android.os.AsyncTask.access$600(AsyncTask.java) 01-22 14:50:46.059:E/AndroidRuntime(26881):位于android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java) 01-22 14:50:46.059:E/AndroidRuntime(26881):在android.os.Handler.dispatchMessage(Handler.java)上 01-22 14:50:46.059:E/AndroidRuntime(26881):在android.os.Looper.loop(Looper.java)上 01-22 14:50:46.059:E/AndroidRuntime(26881):在android.app.ActivityThread.main(ActivityThread.java)上 01-22 14:50:46.059:E/AndroidRuntime(26881):位于java.lang.reflect.Method.Invokenactive(本机方法) 01-22 14:50:46.059:E/AndroidRuntime(26881):位于java.lang.reflect.Method.invoke(Method.java) 01-22 14:50:46.059:E/AndroidRuntime(26881):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)上 01-22 14:50:46.059:E/AndroidRuntime(26881):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java)上 01-22 14:50:46.059:E/AndroidRuntime(26881):在dalvik.system.NativeStart.main(本机方法) 这是TabFragment1:

package ir.reza.smss.Fragments;

import ir.reza.smss.Category;
import ir.reza.smss.GetCategories;
import ir.reza.smss.GooglePlaySmallCard;
import ir.reza.smss.R;
import ir.reza.smss.ServiceHandler;
import it.gmariotti.cardslib.library.internal.Card;
import it.gmariotti.cardslib.library.internal.CardArrayAdapter;
import it.gmariotti.cardslib.library.view.CardListView;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.actionbarsherlock.app.SherlockFragment;


@SuppressLint("ValidFragment")
public class TabFragment1 extends SherlockFragment  {
    // array list for spinner adapter
    ProgressDialog pDialog;
    // Url to get all categories
    private String URL_CATEGORIES = "http://varzesh-ilam.xzn.ir/app/get_categories.php";

    public static ArrayList<Category> categoriesList;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_tab_1, container, false);

    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);



        GetCategories webServiceTask = new GetCategories(this.getActivity());
        webServiceTask.execute();



    }

    public void populateSpinner() {


        ArrayList<Card> cards = new ArrayList<Card>();

        for (int i = categoriesList.size()-1; i >= 0; --i) {

            GooglePlaySmallCard card = new GooglePlaySmallCard(this.getActivity());
            card.setTitle(categoriesList.get(i).getName());
            card.count=i;
            Log.e("i", categoriesList.get(i).getName());

            cards.add(card);
        }
        CardArrayAdapter mCardArrayAdapter = new CardArrayAdapter(getActivity(),cards);

        CardListView listView = (CardListView) getActivity().findViewById(R.id.carddemo_list_gplaycard);
        if (listView!=null){
            listView.setAdapter(mCardArrayAdapter);
        }

    }




}
包ir.reza.smss.Fragments;
进口ir.reza.smss.Category;
导入ir.reza.smss.GetCategories;
导入ir.reza.smss.googlePlaySmollard;
进口ir.reza.smss.R;
导入ir.reza.smss.ServiceHandler;
导入it.gmariotti.cardslib.library.internal.Card;
导入it.gmariotti.cardslib.library.internal.cardarayadapter;
导入it.gmariotti.cardslib.library.view.CardListView;
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.io.OutputStreamWriter;
导入java.util.ArrayList;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入android.annotation.SuppressLint;
导入android.app.ProgressDialog;
导入android.content.Context;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入com.actionbarsherlock.app.SherlockFragment;
@SuppressLint(“有效碎片”)
公共类TabFragment1扩展了SherlockFragment{
//微调器适配器的数组列表
ProgressDialog;
//获取所有类别的Url
私有字符串URL_类别=”http://varzesh-ilam.xzn.ir/app/get_categories.php";
公共静态ArrayList分类列表;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
返回充气机。充气(R.layout.fragment_tab_1,容器,错误);
}
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
GetCategories webServiceTask=新的GetCategories(this.getActivity());
execute();
}
public void populateSpinner(){
ArrayList cards=新的ArrayList();
对于(int i=categoriesList.size()-1;i>=0;--i){
GooglePlaySmollCard=新的GooglePlaySmollCard(this.getActivity());
setTitle(categoriesList.get(i).getName());
card.count=i;
Log.e(“i”,categoriesList.get(i.getName());
卡片。添加(卡片);
}
CardArrayAdapter mCardArrayAdapter=新的CardArrayAdapter(getActivity(),cards);
CardListView listView=(CardListView)getActivity().findViewById(R.id.carddemo\u list\u gplaycard);
如果(listView!=null){
setAdapter(mCardArrayAdapter);
}
}
}
这是GetCategories:

package ir.reza.smss;


import ir.reza.smss.Fragments.TabFragment1;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;

public class GetCategories extends AsyncTask<Void, Void, Void> {

    private Context context;

    ProgressDialog pDialog;
    // Url to get all categories
    private String URL_CATEGORIES = "http://varzesh-ilam.xzn.ir/app/get_categories.php";

    public GetCategories(Context context) {
        this.context = context;
        TabFragment1.categoriesList = new ArrayList<Category>();
    }


    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(context);
        pDialog.setMessage("Loading...");
        pDialog.setCancelable(false);
        pDialog.show();

    }

    @Override
    protected Void doInBackground(Void... arg0) {
        ServiceHandler jsonParser = new ServiceHandler();
        String json = jsonParser.makeServiceCall(URL_CATEGORIES, ServiceHandler.GET);

        Log.e("Response: ", "> " + json);

        if (json != null) {
            try {
                JSONObject jsonObj = new JSONObject(json);
                if (jsonObj != null) {
                    JSONArray categories = jsonObj
                            .getJSONArray("categories");                        

                    for (int i = 0; i < categories.length(); i++) {
                        JSONObject catObj = (JSONObject) categories.get(i);
                        Category cat = new Category(catObj.getInt("id"),
                                catObj.getString("name"));
                        TabFragment1.categoriesList.add(cat);
                        Log.e("categories", "sakhte shod loop ham por shod");
                    }
                }

            } catch (JSONException e) {
                e.printStackTrace();
            }

        } else {
            Log.e("JSON Data", "Didn't receive any data from server!");
        }

        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        if (pDialog.isShowing())
            pDialog.dismiss();
        TabFragment1 tb1 = new TabFragment1();
        tb1.populateSpinner();
    }



}
包ir.reza.smss;
导入ir.reza.smss.Fragments.TabFragment1;
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.io.OutputStreamWriter;
导入java.util.ArrayList;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入android.annotation.SuppressLint;
导入android.app.Activity;
导入android.app.ProgressDialog;
导入android.content.Context;
导入android.os.AsyncTask;
导入android.util.Log;
公共类GetCategories扩展异步任务{
私人语境;
ProgressDialog;
//获取所有类别的Url
私有字符串URL_类别=”http://varzesh-ilam.xzn.ir/app/get_categories.php";
公共GetCategories(上下文){
this.context=con