任何人都可以提出改进这个 API8 示例的方法吗?虽然他们说视图可以在 XML 中定义,但实际上他们所做的是用 java 编写它们。我明白他们为什么要这样做。他们在扩展的 LinearLayout 中添加了一些成员,并且值是在运行时确定的。
哦,宇宙中的每个人都认为,布局指令应该迁移到 XML。但是对于这个应用程序,在运行时逻辑中保持原样设置文本是有意义的。所以我们有一个混合方法。膨胀视图,然后填充动态文本。我很难弄清楚如何完成它。这是来源和我尝试过的。
private class SpeechView extends LinearLayout {
public SpeechView(Context context, String title, String words) {
super(context);
this.setOrientation(VERTICAL);
// Here we build the child views in code. They could also have
// been specified in an XML file.
mTitle = new TextView(context);
mTitle.setText(title);
...
我想既然 LinearLayout 有一个 android:id="@+id/LinearLayout01",我应该可以在 OnCreate 中做到这一点
SpeechView sv = (SpeechView) findViewById(R.id.LinearLayout01);
但它从来没有达到我添加的最小构造函数:
public class SpeechView extends LinearLayout {
public SpeechView(Context context) {
super(context);
System.out.println("Instantiated SpeechView(Context context)");
}
...