将我的 Java 布局对象与 Android 中的 XML 布局链接



我在.java文件中创建了一个LinearLayout对象,并尝试使用以下代码将其与我的.xml layout连接,但它没有响应。你能向我解释一下为什么以及这段代码中有哪些错误吗?我将.xml文件的LinearLayout id命名为"root"。

public class MainActivity extends Activity {
    LinearLayout l;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ImageView HelloWorldImageView = new ImageView(this);
        TextView t=new TextView(this);
        t.setText("hello");
        HelloWorldImageView.setImageResource(R.drawable.ic_launcher);
        l=new LinearLayout(this);
        l=(LinearLayout)findViewById(R.id.root);
        l.addView(t);
        l.addView(HelloWorldImageView);
        setContentView(l);
    }
}

这样做-

        setContentView(R.layout.yourxml);
        ImageView HelloWorldImageView = new ImageView(this);
        TextView t=new TextView(this);
        t.setText("hello");
        HelloWorldImageView.setImageResource(R.drawable.ic_launcher);
        l=(LinearLayout)findViewById(R.id.root);
        l.addView(t);
        l.addView(HelloWorldImageView);

您必须在 setContentView() 中设置该 xml 文件,该文件包含根线性布局。

首先,你不需要new LinearLayout行。 findViewById()将返回实例化版本。 其他新View相同。

其次 - 您想在拨打任何电话之前进行setContentView() findViewById() . 通过这种方式,您可以设置layout(通过传递layout id),Android将实例化layout中的所有View,并且您可以通过findViewById()获取对它们的引用。

最新更新