Android - Problemas con ButterKnife

 
Vista:
sin imagen de perfil
Val: 21
Ha disminuido 1 puesto en Android (en relación al último mes)
Gráfica de Android

Problemas con ButterKnife

Publicado por Luis David (11 intervenciones) el 05/12/2018 11:05:58
Estoy intentando refactorizar mi proyecto con butterknife y me estoy encontrado problemas del estilo de que no se encuentra la refenrencia del objeto y demás, he intentado realizarlo de esta forma pero me salta:
void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference

Necesito ayuda!! GRACIAS!!

Aqui dejo mi clase con el intento de realizar el refactor, realmente en esta clase solo hay un objeto para identificar, si se necesita mas codigo puedo pasar otras clases que tambien tengo el mismo problema.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
package com.socialtech.matinal.socialtech.Fragmentos;
 
import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
 
import com.socialtech.matinal.socialtech.Alumno;
import com.socialtech.matinal.socialtech.CustomAdapter.CustomListAdapter;
import com.socialtech.matinal.socialtech.MainActivity;
import com.socialtech.matinal.socialtech.R;
import com.socialtech.matinal.socialtech.Repositorio;
import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
 
public class ListaViewFragment extends Fragment {
 
    @BindView(R.id.listview_alumnos) ListView listView;
 
    private ArrayList<Alumno> alumnos = new ArrayList<Alumno>();
    private OnAlumnoSeleccionado callback;
    private int posicionMenucontextual;
 
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        this.callback = (OnAlumnoSeleccionado) context;
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 
        View view = inflater.inflate(R.layout.listaalumnos, container, false);
        ButterKnife.bind(this, view);
 
        return view;
        //return inflater.inflate(R.layout.listaalumnos, container, false);
 
    }
 
    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
 
 
        alumnos = Repositorio.getInstancia().getAlumnos();
 
 
        CustomListAdapter adapter = new CustomListAdapter(view.getContext(),R.layout.celda,alumnos);
        listView.setAdapter(adapter);
 
        registerForContextMenu(listView);
 
        listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                posicionMenucontextual = position;
                return false;
            }
        });
 
 
    }
 
    //QUE HACER CUANDO SE VA A CREAR UN MENU CONTEXTUAL(QUE OBJETOS SE LE VAN A AÑADIR)
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
                                    ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        MenuInflater inflater = new MenuInflater(v.getContext());
        menu.setHeaderTitle("Selecciona una acción");
 
        inflater.inflate(R.menu.menucontextual_listaalumnos, menu);
 
    }
 
    //QUE SE HACE CUANDO SE SELECCIONA UNA OPCION DEL MENU CONTEXTUAL DE LA LISTA
    @Override
    public boolean onContextItemSelected(MenuItem item)  {
 
        Alumno alumnoPasado = alumnos.get(posicionMenucontextual);
 
        switch (item.getItemId()){
            case R.id.menucontextual_MostrarDetalles:
 
                callback.alumnoSeleccionado(alumnoPasado);
 
                return true;
 
            case R.id.menucontextual_Borrar:
 
                alumnos.remove(alumnoPasado);
                ListaViewFragment fragment = new ListaViewFragment();
                actualizarLista(fragment);
 
                return true;
 
            case R.id.menucontextual_Modificar:
            callback.alumnoSeleccionadoEditar(alumnoPasado);
                return true;
 
 
            default: return false;
        }
 
 
 
    }
    //METODO PARA ACTUALIZAR FRAGMENTO DE LISTA
    public void actualizarLista(Fragment fragment){
        FragmentManager fm = getFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
        ft.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
        ft.replace(R.id.frameprincipal, fragment);
        ft.commit();
    }
 
    public interface OnAlumnoSeleccionado {
 
        public void alumnoSeleccionado(Alumno alumno);
        public void alumnoSeleccionadoEditar(Alumno alumno);
    }
 
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder