Я получаю NPE, когда пытаюсь создать экземпляр класса, я уже пробовал использовать NameOftheClass.this, getApplicationContext(), getApplication(). Ни один из них не работает, вот лог:Java.lang.NullPointerException at getapplicationContext() Android
java.lang.NullPointerException
at br.com.FragmentClientes.<init>(FragmentClientes.java:87)
линия 87 является: mRepositorio = new Repositorio(FragmentClientes.this);
А вот фрагмент кода:
public class FragmentClientes extends ActionBarActivity {
private boolean searchCheck;
private List<ClienteModel> clientes = new ArrayList<ClienteModel>();
private ProgressBar progressBar;
private ListView lv;
private ClientViewAdapter ad;
private ClientViewAdapter ads;
private SearchView searchView;
private LinearLayout footerLinearLayout;
private boolean shouldExecuteOnResume;
private Repositorio mRepositorio;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO Auto-generated method stub
setContentView(R.layout.fragment_cliente);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
SecurePreferences mSessao = new SecurePreferences(FragmentClientes.this, "sessao");
mSessao.put("menuAtual", "Clientes");
lv = (ListView) findViewById(R.id.listaClientes);
}
public FragmentClientes(Integer idViagem) {
clientes = new ArrayList<ClienteModel>();
try {
mRepositorio = new Repositorio(FragmentClientes.this);
List lista = mRepositorio.getClientesViagem(idViagem);
clientes = lista;
ad = new ClientViewAdapter(FragmentClientes.this, this, clientes);
lv.setVerticalFadingEdgeEnabled(true);
lv.setVerticalScrollBarEnabled(true);
lv.setAdapter(ad);
} catch (Exception e) {
e.printStackTrace();
}
}
}
use SecurePreferences mSessao = new SecurePreferences (FragmentClientes.this, "sessao"); –
@AmrutBidri попробовал это, все еще получая ту же ошибку –
@Stacktwo вы найдете полное решение в моем ответе ниже. – Kelevandos