Boa tarde pessoal, tudo bem? terminei o curso de android de vocês, e estou tentando aplicar o que aprendi em um projeto meu. Estou seguindo o projeto do curso, porém quando crio um ListView, eu consigo preencher todos os dados dele, inserir um novo item no banco e atualizar a lista, tudo certinho. Porem o evento de click nao funciona.
Segue o código de minha activity
public class ListaOcorrenciasActivity extends AppCompatActivity {
private ListView listaOcorrencias;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lista_ocorrencias);
listaOcorrencias = (ListView) findViewById(R.id.lista_ocorrencias);
listaOcorrencias.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> lista, View view, int position, long id) {
Ocorrencia ocorrencia = (Ocorrencia) lista.getItemAtPosition(position);
Intent vaiProCadastro = new Intent(ListaOcorrenciasActivity.this, CadastroOcorrenciaInicialActivity.class);
vaiProCadastro.putExtra("ocorrencia", ocorrencia);
startActivity(vaiProCadastro);
}
});
FloatingActionButton btbCadastrarNovaOcorrencia = (FloatingActionButton) findViewById(R.id.lista_botao_cadastrarNova);
btbCadastrarNovaOcorrencia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intentVaiProCadastro = new Intent(ListaOcorrenciasActivity.this, CadastroOcorrenciaInicialActivity.class);
startActivity(intentVaiProCadastro);
}
});
}
protected void onResume() {
super.onResume();
carregarLista();
}
private void carregarLista(){
OcorrenciasDao dao = new OcorrenciasDao(this);
List<Ocorrencia> ocorrencias = dao.buscaOcorrencias();
dao.close();
OcorrenciaAdapter adapter = new OcorrenciaAdapter(this, ocorrencias);
listaOcorrencias.setAdapter(adapter);
}
Meu adapter
public class OcorrenciaAdapter extends BaseAdapter {
private final List<Ocorrencia> ocorrencias;
private final Context context;
public OcorrenciaAdapter(Context context, List<Ocorrencia> ocorrencias) {
this.context = context;
this.ocorrencias = ocorrencias;
}
@Override
public int getCount() {
return ocorrencias.size();
}
@Override
public Object getItem(int position) {
return ocorrencias.get(position);
}
@Override
public long getItemId(int position) {
return ocorrencias.get(position).getId();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Ocorrencia ocorrencia = new Ocorrencia();
ocorrencia = ocorrencias.get(position);
View view = convertView;
LayoutInflater inflater = LayoutInflater.from(context);
if (view == null) {
view = inflater.inflate(R.layout.item_lista_ocorrencias, parent, false);
}
ImageView campoFoto = (ImageView) view.findViewById(R.id.item_imagem);
// TextView txtData = (TextView) view.findViewById(R.id.item_data);
TextView txtNumeroTalao = (TextView) view.findViewById(R.id.item_numeroTalao);
TextView txtNatureza = (TextView) view.findViewById(R.id.item_natureza);
//
// if (txtData != null) {
// txtData.setText(ocorrencia.getData());
//
// }
txtNatureza.setText(ocorrencia.getNaturezaOcorrencia());
txtNumeroTalao.setText(ocorrencia.getNumeroTalao());
String caminhoFoto = ocorrencia.getCaminhoFoto();
if (caminhoFoto != null) {
Bitmap bitmap = BitmapFactory.decodeFile(caminhoFoto);
Bitmap bitmapReduzido = Bitmap.createScaledBitmap(bitmap, 100, 100, true);
campoFoto.setImageBitmap(bitmapReduzido);
campoFoto.setScaleType(ImageView.ScaleType.FIT_XY);
}
return view;
}
}
Ja tentei alterar o atributo clickable da listview para true, mas mesmo assim nao funcionou