0
我真的很陌生,我一直在閱讀stackeroverflow,我們需要從另一個類更新TableLayout時傳遞上下文。但我不想直接從另一個類更新TableLayout;我試圖通過調用MainActivity中的方法來更新它。而這種方法有所有的更新代碼。從另一個類更新TableLayout
以下是我有:
public class MainActivity extends Activity {
public void addTableRow(String company, Integer shares, float p, float f) {
TableLayout tl = (TableLayout) findViewById(R.id.tablelayout);
TableRow tr = new TableRow(this);
//does a bunch of stuff here
//then does some formatting
companyName.setText(company);
companyShares.setText(shares.toString());
dailyChange.setText(String.format("%.2f", p));
dailyChangeToPortfolio.setText(String.format("%.2f", f));
tr.addView(companyName);
tr.addView(companyShares);
tr.addView(dailyChange);
tr.addView(dailyChangeToPortfolio);
tl.addView(tr);
}
}
在我的其他類我有
public class UpdateStock {
public void startUpdate(){
MainActivity m = new MainActivity();
m.addTableRow("CSCO", 10, 5.555f, 6.666f);
}
}
但它在我的錯誤。任何建議,以使其發揮作用將是偉大的。
你的建議是,在我的理解方式。是否有另一種方法通過傳遞上下文來實現此目的? – user7655804
我不確定你的兩個班級之間有什麼關係。誰創建'updateStock'(你應該真的把它重命名爲UpdateStock),它和'MainActivity'之間的關係是什麼?您始終可以使用靜態數組來保存您的數據。 –
數據的傳遞不是我不認爲的問題。在UpdateStock類中,當我調用startUpdate()時,它應該調用MainActivity中的addTableRow()。 MainActivity擁有所有更新代碼來更新表格。 – user7655804