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更改为匹配父对象不会改变任何事情。。