我定义了一个listview 资源
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView1"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
在代码中用到
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//listView = (ListView) findViewById(R.id.listview1);
listView = new ListView(this);
listView.setAdapter(new ArrayAdapter<String>(this, R.layout.activity_main, getData()));
setContentView(listView);
请问
listView = (ListView) findViewById(R.id.listview1);
和
listView = new ListView(this);
的区别是什么?
我在在这里是否可以用listView = (ListView) findViewById(R.id.listview1);
------解决思路----------------------
可以的, findViewById 是从当前View或者说Root View中找到对应ID实例化的View组件。
直接setContentView 是设置一个View组件 或者 设置一个布局
直接实例化和在布局文件中 理论上都是实例化
------解决思路----------------------
activity_main 在 layout中的一个xml文件啊