Я пытаюсь программно создавать кнопки в моем приложении для Android в зависимости от того, сколько элементов у меня в базе данных sqlite. Кнопки есть, но моя проблема состоит в том, чтобы установить onClick
для каждой кнопки, потому что я хочу показывать различный контент, когда пользователь нажимает кнопки. Я сейчас использую этот код:
for(cursorCol.move(0); cursorCol.moveToNext(); cursorCol.isAfterLast()){
Id = Integer.parseInt(cursorCol.getString(cursorCol.getColumnIndex("id")));
Log.i("Id","Id : "+Id);
titleButton = cursorCol.getString(cursorCol.getColumnIndex("title"));
Log.i("titleButton","titleButton : " + titleButton);
elemOrder1 = Integer.parseInt(cursorCol.getString(cursorCol.getColumnIndex("elemOrder")));
Log.i("elemOrder1 ","elemOrder1 : " + elemOrder1 );
btn = new Button(this);
btn.setText(" " + titleButton + " ");
btn.setId(Id);
btn.setTextColor(Color.parseColor("#000000"));
btn.setTextSize(12);
btn.setPadding(10, 10, 10, 10);
btn.setBackgroundResource(R.drawable.gray_button);
btnlayout.addView(btn,params);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
infoCard.removeAllViews();
for(int i=0;i<=cursorCol.getCount();i++){
Log.i("","titleButton : "+titleButton);
}
}
}
Но проблема в том, что когда я нажимаю кнопку, она показывает только последний titleButton
. На самом деле мне не нужно показывать titleButton
, я просто сделал это для целей тестирования. Любые идеи, как я могу создать различные onClick
методы для каждой кнопки?