Android ListView未显示

Android ListView未显示,android,android-layout,android-listview,Android,Android Layout,Android Listview,活动代码: public class ToDoList extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_to_do_list); ListView listview = (ListView)findViewByI

活动代码:

public class ToDoList extends Activity {
    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_to_do_list);
    ListView listview = (ListView)findViewById(R.id.listview);
    final EditText edittext = (EditText)findViewById(R.id.edittext);
    final ArrayList<String> NewItem = new ArrayList<String>();
    final ArrayAdapter<String> aa;

    aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,NewItem);
    listview.setAdapter(aa);

    edittext.setOnKeyListener(new OnKeyListener() {

        public boolean onKey(View v, int keycode, KeyEvent event) {
            if(event.getAction() == KeyEvent.ACTION_DOWN)
                if(keycode == KeyEvent.KEYCODE_DPAD_CENTER){
                    NewItem.add(0, edittext.getText().toString());
                    aa.notifyDataSetChanged();
                    edittext.setText("");
                    return true;
                }
            return false;
        }
    }) ;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.to_do_list, menu);
    return true;
}
}
public类ToDoList扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u to\u do\u列表);
ListView ListView=(ListView)findViewById(R.id.ListView);
final EditText EditText=(EditText)findViewById(R.id.EditText);
final ArrayList NewItem=new ArrayList();
最终阵列适配器aa;
aa=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,NewItem);
setAdapter(aa);
setOnKeyListener(新的OnKeyListener(){
公共布尔onKey(视图v、int keycode、KeyEvent事件){
if(event.getAction()==KeyEvent.ACTION\u向下)
if(keycode==KeyEvent.keycode\u DPAD\u CENTER){
添加(0,edittext.getText().toString());
aa.notifyDataSetChanged();
edittext.setText(“”);
返回true;
}
返回false;
}
}) ;
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(右菜单至待办事项列表,菜单);
返回true;
}
}
布局XML文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <EditText
        android:id="@+id/edittext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="New Item" />

    <ListView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/listview">
    </ListView>
</LinearLayout>


对于初学者来说,xml的某些部分丢失了,为什么不直接调用aa.add,而不是保留对NewItem的引用?是否检查了添加代码的执行情况?有两种可能:ListView正在布线,只是没有显示,或者适配器的getCount()返回0。首先,我会尝试将ListView的高度设置为匹配父对象。将ListView更改为匹配父对象不会改变任何事情。。