У меня есть активность, которая содержит 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);
}
}
так, что мне нужно здесь, когда строка щелкнула я должен найти его в списке и получить идентификатор отчета, который кликнул в таблице и поместить в объект «Карта», чтобы передать предисловие. Кто-нибудь знает, как это можно сделать?
спасибо.
Да, я подумал о чем-то подобном, но я думаю, есть ли способ выполнить эту операцию без стороннего объекта. –
На самом деле, мы можем @EmilAdz, нам нужно придумать класс MyTableRow, расширяющий класс TableRow, а затем добавить объект типа Report и метод для его получения и установки по желанию. –
это похоже на решение, которое я ищу, я попробую это и приму ваш ответ, если это сработает. возможно, у вас есть пример, который делает что-то вроде этого? –