0

我正在尝试制作一个 listview 应用程序,并且从昨天发生在我身上,应用程序意外停止......这是我的代码:

package com.example.listview;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ListView myListView = (ListView)findViewById(R.id.myListView);
    final EditText myEditText = (EditText)findViewById(R.id.myEditText);
    final ArrayList<String> todoItems = new ArrayList<String>();
    final ArrayAdapter<String> aa;
    aa = new ArrayAdapter<String>(this, R.layout.activity_main, todoItems);
    myListView.setAdapter(aa);

    myEditText.setOnKeyListener(new View.OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
           if (event.getAction() == KeyEvent.ACTION_DOWN)
             if ((keyCode == KeyEvent.KEYCODE_DPAD_CENTER) || (keyCode == KeyEvent.KEYCODE_ENTER)) {
               todoItems.add(0, myEditText.getText().toString());
               aa.notifyDataSetChanged();
               myEditText.setText("");
               return true;
           }
        return false;
        }
   });


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

这个应用程序用“日任务”做一个列表,你把这个“日任务”放在 EditText

编辑:这里是activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ListView
    android:id="@+id/myListView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="100dp" >
</ListView>

<EditText
    android:id="@+id/myEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="26dp"
    android:ems="10" />

4

1 回答 1

2

如果没有您的 LogCat,我们只能猜测问题所在,但我发现您的适配器存在一个潜在错误:

new ArrayAdapter<String>(this, R.layout.activity_main, todoItems);

这是在您的适配器中使用的错误布局,因为它会在第一个 ListView 内创建多个 ListView... 您应该传递一个简单的布局,例如:

new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, todoItems);
于 2012-10-13T19:39:59.970 回答