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.
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


0