我寫了一個旨在顯示報告的應用程序。該應用程序的第一個屏幕是一個顯示報告的信息(名稱,路徑)的表格。找不到在onClick()方法中投射
所以,我想讓表格的行可點擊,以便帶我進入顯示報表詳細信息的下一個屏幕,並知道該行的相應報表是什麼。所以我寫了我自己的行:
TableReportRow:
public class TableReportRow extends TableRow {
Report report;
public TableReportRow(Context context, Report report) {
super(context);
this.report = report;
}
public Report getReport() {
return report;
}
public void setReport(Report report) {
this.report = report;
}
}
然後我創建的表編程:
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);
final String tag = "tag";
for (int i= 0; i < reportsRepository.size(); i++) {
Report tempReport = reportsRepository.get(i);
TableReportRow row = new TableReportRow(this, tempReport);
// ...
row.addView(tvName);
row.addView(tvPath);
row.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// This is where I need help.
}
});
table.addView(row);
}
現在我需要執行鑄造的視圖onClick()
得到訪問GetReport()
方法來獲取行的實際相應報告,但我似乎無法做到。有人能幫我解決這個問題嗎?任何幫助,將不勝感激。
我猜的報告結果=((TableReportRow)V ).getReport(); - 或者這太明顯了? – 2013-03-11 21:47:50
由於某種原因,日食會給我在清理前的錯誤,但你是正確的,我的壞。 – 2013-03-11 22:26:26