Amigos,
Meu código está gerando este erro.
NullPointerException
Como resolver isto?
LogCat
FATAL Exception: main
java.lang.NullPointerException
12-08 16:31:06.166: E/AndroidRuntime(390): at br.com.mylims.controller.EmpresaProcessoListAdapter.getView(EmpresaProcessoListAdapter.java:72)
Minha classe EmpresaProcessoListAdapter.
package br.com.mylims.controller;
import java.util.List;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import br.com.mylims.R;
import br.com.mylims.bean.Amostra;
import br.com.mylims.bean.Empresa;
public class EmpresaProcessoListAdapter extends BaseAdapter {
private Context context;
private List<Amostra> lista;
private static final String CATEGORIA = "coleta";
public EmpresaProcessoListAdapter(Context context, List<Amostra> lista) {
super();
this.context = context;
this.lista = lista;
}
@Override
public int getCount() {
return lista.size();
}
@Override
public Object getItem(int position) {
return lista.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Amostra amostraBean = lista.get(position);
//Empresa empresaBean = new Empresa();
//amostraBean.setEmpresa(empresaBean);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.layout_empresa_processo, null);
TextView nomeFantasia = (TextView) view.findViewById(R.id.nomeEmpresaProcesso);
nomeFantasia.setText(amostraBean.getEmpresa().getNomeFantasia());
TextView idProcesso = (TextView) view.findViewById(R.id.idEmpresaProcesso);
idProcesso.setText(amostraBean.getIdProcesso());
Log.i(CATEGORIA, "layout EmpresaProcesso");
return view;
}
}
Meu Dao
package br.com.mylims.model;
import java.util.ArrayList;
import java.util.List;
import br.com.mylims.bean.Amostra;
import br.com.mylims.bean.Empresa;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class EmpresaProcessoDao extends SQLiteOpenHelper {
private static final String NOME_BANCO = "teste_usu";
private static final int VERSION = 1;
private static final String CATEGORIA = "coleta";
public EmpresaProcessoDao(Context context) {
super(context, NOME_BANCO, null, VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
@Override
public void onCreate(SQLiteDatabase arg0) {
// TODO Auto-generated method stub
}
public List<Amostra> getListaEmpresaProcesso(String login, String senha){
try {
String[] args = new String[]{login, senha};
Cursor c = getWritableDatabase().rawQuery("SELECT DISTINCT "+
"EMPRESA.NMFANTASIA, " +
"AMOSTRA.IDPROCESSO, "+
"AMOSTRA.IDAUXEMPRESA, "+
"USUARIO.CDUSUARIO "+
"FROM "+
"AMOSTRA "+
"INNER JOIN EMPRESA ON (AMOSTRA.IDAUXEMPRESA = EMPRESA.IDAUXEMPRESA) "+
"INNER JOIN USUARIO ON (AMOSTRA.CDUSUARIO = USUARIO.CDUSUARIO) "+
"WHERE USUARIO.LOGIN = ? AND USUARIO.SENHALOGIN = ?", args);
List<Amostra> lista = new ArrayList<Amostra>();
while (c.moveToNext()){
Amostra amostraBean = new Amostra();
Empresa empresaBean = new Empresa();
amostraBean.setEmpresa(empresaBean);
amostraBean.getEmpresa().setNomeFantasia(c.getString(0));
amostraBean.setIdProcesso(c.getString(1));
lista.add(amostraBean);
}
c.close();
return lista;
} catch (Exception e) {
Log.i(CATEGORIA, "MENSAGEM DE ERRO" + e);
return null;
}
}
}