我從文件中讀取了大量數據,並且我想從中創建ui。我創建了很多textview和單選按鈕,但是當我在設備或模擬器上嘗試此操作時,我到處都是白色文本,爲什麼?爲什麼動態單選按鈕顏色是白色的?
如果我在xml中創建一個單選按鈕,它是黑色的!但我的動態單選按鈕的顏色是白色:(
public void buildScreen(){
TextView header = new TextView(context);
header.setText(dataManager.getHeaderString()+"\n"+dataManager.getqType());
dataManager.setMainTable(tbl);
TableRow row;
for (Map.Entry<String, SimpleQuestionModel> entry : dataManager.getqDict().entrySet()){
String question = entry.getKey();
SimpleQuestionModel model = entry.getValue();
row = new TableRow(context);
TextView tv = new TextView(context);
tv.setText(model.getQuestion());
dataManager.getMainTable().addView(tv);
RadioGroup rg = new RadioGroup(context);
rg.setOrientation(RadioGroup.VERTICAL);
for (int j=0;j<model.getAnswers().size();j++){
RadioButton rb = new RadioButton(context);
rb.setText(model.getAnswers().get(j));
rg.addView(rb);
}
dataManager.getqAndA().put(tv, rg);
row.addView(rg);
dataManager.getMainTable().addView(row);
}
}
這裏是我的類constuctor:
public UIBuilder(Context context, TableLayout tbl) {
this.context = context;
this.tbl = tbl;
dataManager = DataManager.getInstance();
DataReader dataReader = new DataReader();
dataReader.readDataFromFile("first.txt");
}
而且我調用這個類是這樣的:
builder = new UIBuilder(getApplicationContext(), tbl);
builder.buildScreen();
和TBL是tablelayout在我的xml中
請粘貼到您要創建「動態單選按鈕」的代碼中。 – CommonsWare
更新了我的問題 – just
您有一個名爲'context'的數據成員。你如何初始化它? – CommonsWare