Android Personalizado ArrayAdapter en el Fragmento

Hola estoy trabajando en hacer un simple lista sólo quiero un icono de la descripción y el título y ponerlo en un fragmento, ya que es parte de un viewpager sin embargo, me estoy poniendo un nullpointerexception y no puedo entender por qué. Mi código como se muestra en esta y todas mis otras páginas están bien, es sólo esta lista que no puedo ir a trabajar.

public class Test extends Fragment{

    View view;
    Context context;
    public static ListView lView;
    public static ArrayAdapter<String> leftList;

    public class MyCustomAdapter extends ArrayAdapter<String> {
        public MyCustomAdapter(Context context, int resource, int textViewResourceId, String[] dayOfWeek) {
            super(context, resource, textViewResourceId, dayOfWeek);
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            TextView label=(TextView)view.findViewById(R.id.rowTextView);
            label.setText(DayOfWeek[position]);
            ImageView icon=(ImageView)view.findViewById(R.id.listIcon);
            if (DayOfWeek[position]=="Sunday"){
                icon.setImageResource(R.drawable.file);
            }else{
                icon.setImageResource(R.drawable.icon);
            }
            TextView desc = (TextView)view.findViewById(R.id.description);
            if (DayOfWeek[position]=="Sunday"){
                desc.setText("Description1");
            }else{
                desc.setText("desc");
            }
            return view;
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
        view = inflater.inflate(R.layout.leftlist, null);
        LinearLayout pasteLayout=(LinearLayout)view.findViewById(R.id.bottomBar);
        pasteLayout.setVisibility(LinearLayout.GONE);
        context = getActivity();
        lView = (ListView) view.findViewById(R.id.ListView01);
        Test est = new Test();
        Test.MyCustomAdapter teS = est.new MyCustomAdapter(context, R.layout.row, R.id.rowTextView, DayOfWeek);
        leftList = teS;
        lView.setAdapter(leftList);
        return view;
    }


    String[] DayOfWeek = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
}

El error en el logcat

E/AndroidRuntime( 1304): java.lang.NullPointerException
E/AndroidRuntime( 1304):    at com.testing.Test$MyCustomAdapter.getView(Test.java:29)
E/AndroidRuntime( 1304):    at android.widget.AbsListView.obtainView(AbsListView.java:1445)
E/AndroidRuntime( 1304):    at android.widget.ListView.measureHeightOfChildren(ListView.java:1220)
E/AndroidRuntime( 1304):    at android.widget.ListView.onMeasure(ListView.java:1131)
E/AndroidRuntime( 1304):    at android.view.View.measure(View.java:8363)
E/AndroidRuntime( 1304):    at android.widget.RelativeLayout.measureChild(RelativeLayout.java:566)
E/AndroidRuntime( 1304):    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:381)
E/AndroidRuntime( 1304):    at android.view.View.measure(View.java:8363)
E/AndroidRuntime( 1304):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3160)
E/AndroidRuntime( 1304):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
E/AndroidRuntime( 1304):    at android.view.View.measure(View.java:8363)
E/AndroidRuntime( 1304):    at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:595)
E/AndroidRuntime( 1304):    at android.view.View.measure(View.java:8363)
E/AndroidRuntime( 1304):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3160)
E/AndroidRuntime( 1304):    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
E/AndroidRuntime( 1304):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
E/AndroidRuntime( 1304):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
E/AndroidRuntime( 1304):    at android.view.View.measure(View.java:8363)
E/AndroidRuntime( 1304):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3160)
E/AndroidRuntime( 1304):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
E/AndroidRuntime( 1304):    at android.view.View.measure(View.java:8363)
E/AndroidRuntime( 1304):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3160)
E/AndroidRuntime( 1304):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
E/AndroidRuntime( 1304):    at android.view.View.measure(View.java:8363)
E/AndroidRuntime( 1304):    at android.view.ViewRoot.performTraversals(ViewRoot.java:841)
E/AndroidRuntime( 1304):    at android.view.ViewRoot.handleMessage(ViewRoot.java:1873)
E/AndroidRuntime( 1304):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1304):    at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime( 1304):    at android.app.ActivityThread.main(ActivityThread.java:3703)
E/AndroidRuntime( 1304):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1304):    at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 1304):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
E/AndroidRuntime( 1304):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
E/AndroidRuntime( 1304):    at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(  278):   Force finishing activity com.testing/.MainActivity
W/ActivityManager(  278): Activity pause timeout for HistoryRecord{408d4540 com.testing/.MainActivity}

Cualquier ayuda sería muy apreciada gracias una tonelada realmente la esperanza de que puedo conseguir este trabajo creo que estoy muy cerca 🙂

InformationsquelleAutor user577732 | 2011-12-15

2 Kommentare

  1. 2

    Está llamando view.findViewById pero la vista no es instanciado todavía. En su lugar, utilice el diseño de inflater que se pasa en onCreateView, probablemente, por la que pasa en tu adaptador del constructor.

  2. 1

    Se han declarado Vista global, pero no se crean instancias. Usted puede agregar una línea de código

    view = convertView

    como la primera instrucción en el método getView de adaptador…

    O puede utilizar convertView.findViewById

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea