У меня есть база данных, и я показываю некоторые данные в ListView. Я хочу передать данные на другой вид деятельности, когда пользователь нажимает на элемент в ListViewКак получить идентификатор изнутри onItemClickListener?
long idProjeto;
ProjetosDAO pDAO;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lista_projetos);
ListView lv = (ListView)findViewById(R.id.lvListaProjetos);
final ListaProjetosAdapter adapter = new ListaProjetosAdapter(this);
pDAO = new ProjetosDAO(this);
pDAO.open();
Cursor cursor = pDAO.consultaParaListaprojetos();
String data = "";
String cliente = "";
String tipoProjeto = "";
String status = "";
if(cursor != null && cursor.moveToFirst()){
do{
data = cursor.getString(0);
cliente = cursor.getString(1);
tipoProjeto = cursor.getString(2);
status = cursor.getString(3);
idProjeto = Long.parseLong(cursor.getString(4));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
try {
Date date = sdf.parse(data);
data = new SimpleDateFormat("dd/MM/yyyy HH:mm").format(date);
} catch (ParseException e) {
e.printStackTrace();
}
adapter.addDadosListaprojetos(data, cliente, tipoProjeto, status, idProjeto);
}while(cursor.moveToNext());
cursor.close();
pDAO.close();
}
lv.setAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Intent intent = new Intent(ListaProjetosActivity.this, ListaCheckinsActivity.class);
intent.putExtra("idProjeto", idProjeto);
startActivity(intent);
}
});
}
public void novoProjeto(View v) {
Intent intent = new Intent(this, NovoProjetoActivity.class);
startActivity(intent);
}
}
Я хочу передать эту idProjeto на другой вид деятельности, но передавая только данные из последнего пункта , Каждый цикл из while, переменная получает другое значение. Как получить правильное значение?
Вы можете разместить свой код для адаптера? – petey