以下xml代码中的按钮完全不可见。有人可以指导我出错的地方吗?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/addBtn"
android:text="Add New Item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="addItems"
/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
/>
</LinearLayout>
oncreate()如下:
ArrayList<String> listItems=new ArrayList<String>();
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
adapter=new ArrayAdapter<String>(MainActivity.this,R.layout.abc, listItems);
setListAdapter(adapter);
}
答案 0 :(得分:0)
超级之后和“adapter...
”之前,请在onCreate()
setContentView(R.layout.your_layout);
致电setContentView()
...
// We'll define a custom screen layout here (the one shown above), but
// typically, you could just use the standard ListActivity layout.
setContentView(R.layout.custom_list_activity_view);
来自:http://developer.android.com/reference/android/app/ListActivity.html
另外,请认为传递给适配器的列表项是空的(你检查过吗?)
答案 1 :(得分:0)
试一试 -
ArrayList<String> listItems=new ArrayList<String>();
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_layout);
adapter=new ArrayAdapter<String>(MainActivity.this,R.layout.abc, listItems);
setListAdapter(adapter);
}
您可能没有为视图设置布局。因此,不仅按钮而且整个视图都不可见。为清楚起见,您可以在视图中添加任何内容,但根本不会显示。
另请注意,如果不是上述情况,那么请查看您是否已将可见性设置为隐藏或已在代码中的某处。
这只是编程问题,因为您提供的xml文件是正确的。
答案 2 :(得分:0)
你忘记了setContentView(R.layout.yourlayout);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yourlayout); //Add this line
adapter=new ArrayAdapter<String>(MainActivity.this,R.layout.activity_main, listItems);
setListAdapter(adapter);
}