0

リストビューアプリケーションを作成しようとしていますが、昨日からこれが発生し、アプリケーションが予期せず停止します...これが私のコードです:

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 がなければ、問題が何であるかを推測することしかできませんが、アダプターに潜在的なエラーが 1 つあります。

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

これは、最初の ListView 内に複数の ListViews を作成するため、アダプターで使用するのは間違ったレイアウトです...次のような単純なレイアウトを渡す必要があります。

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