0

我从一个文件中读取了很多数据,并且 ia 想从中创建 ui。我创建了很多文本视图和一个单选按钮,但是当我在设备或模拟器上尝试这个时,我到处都是白色文本,为什么?

如果我在 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);

    }

}

这是我的类构造函数:

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 是我的 xml 中的表格布局

4

1 回答 1

4

如果您希望您的主题得到尊重,请始终在实例化小部件时使用ActivityContext使用任何其他Context只会使用股票系统主题。

Dave Smith 的这篇博文解释了何时使用 what Context,包括提到这个问题。

于 2015-04-18T16:24:39.237 回答