Android создает кнопку программно. Проблема

Я пытаюсь программно создавать кнопки в моем приложении для 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 для каждой кнопки?

5
задан Android-Droid 26 October 2011 в 12:21
поделиться