TableLayout を含むアクティビティがあります。リストにあるデータをプログラムでこのテーブルに入力しています。
私がする必要があるのは、すべての行をクリック可能にすることです。クリックすると、リスト内の対応する項目を見つけて、そこから追加のデータを取得できるようにする必要があります。これが私のonCreate
コードです:
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.reports_list_activity_layout);
application = (SGRaportManagerAppObj)getApplication();
reportsRepository = application.reportsRepository.getReportsRepository();
TableLayout table = (TableLayout) findViewById(R.id.tableReportsList);
table.setStretchAllColumns(true);
table.setShrinkAllColumns(true);
for (Report tempReport : reportsRepository)
{
TableRow row = new TableRow(this);
row.setClickable(true);
TextView tvName = new TextView(this);
tvName.setText(tempReport.getName());
tvName.setGravity(Gravity.CENTER_HORIZONTAL);
tvName.setTextColor(getResources().getColor(R.color.my_black));
row.addView(tvName);
TextView tvPath = new TextView(this);
tvPath.setText(tempReport.getPath());
tvPath.setGravity(Gravity.CENTER_HORIZONTAL);
tvPath.setTextColor(getResources().getColor(R.color.my_black));
row.addView(tvPath);
row.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
Map<String, String> map = new HashMap<String, String>();
map.put(Report.JSON_KEY_ID, );
}
});
table.addView(row);
}
}
したがって、ここで必要なのは、行がクリックされたときに、リストでその行を見つけて、テーブルでクリックされたレポートの ID を取得し、Map オブジェクトに入れて序文を渡す必要があるということです。これを行う方法を知っている人はいますか?
ありがとう。