(SQLiteデータベースから返された)データのArrayListを取得し、以下のコードを介してテーブルに変換する必要があるコードがあります。私が疑問に思っていたのは、テーブルに動的に追加するボタンにclickListenerを追加する方法です。基本的に、行の列の1つからの値を、他の場所でアクセスするSharedPreference変数に追加します。
さらに情報が必要な場合はお知らせくださいが、それは理にかなっていると思います。
DatabaseHandler db = new DatabaseHandler(TabFragment3.this.getActivity());
List<FoodPoints> foodpoints = db.getAllFoodPoints();
for (FoodPoints fp : foodpoints) {
String listFood = fp.getFood();
String listPoints = Integer.toString(fp.getPoints());
String listDate = fp.getDate();
listDate = listDate.substring(0, 12);
insertRow(tablePoints, listFood, listPoints, listDate);
// String log = "ID: " + fp.getID() + ", Food: " + fp.getFood() + ", Points: " + fp.getPoints() + ", Date: " + fp.getDate();
// Log.d("FoodPoints", log);
}
private void insertRow(TableLayout tablePoints, String tblFoodName, String tblFoodPoints, String tblFoodDate) {
final TableRow newrow = new TableRow(currentActivity);
addPlusButtonPointsTable(newrow);
addTexttoRowswithValues(newrow, tblFoodName, 3);
addTexttoRowswithValues(newrow, tblFoodPoints, 17);
addTexttoRowswithValues(newrow, tblFoodDate, 17);
tablePoints.addView(newrow);
}
...
private void addPlusButtonPointsTable(TableRow newrow) {
Button plusButton = new Button(currentActivity);
//plusButton.setBackgroundColor(R.drawable.);
plusButton.setText("+");
plusButton.setMinimumWidth(1);
plusButton.setMinimumHeight(1);
plusButton.setTextSize(14);
newrow.addView(plusButton);
}