2011-05-12 99 views
0

我正试图从Android开发的一本书中创建一个简单的待办事项列表应用程序。当我尝试运行它时,我收到“此应用程序已停止工作”的消息。我完全不知道为什么,除了它与setContentView(R.layout.main)的致命错误有关。有人可以帮我修复它吗?简单的TodoList应用程序

package com.test.tadalist; 

import java.util.ArrayList; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.view.View; 
import android.view.View.OnKeyListener; 
import android.widget.ArrayAdapter; 
import android.widget.EditText; 
import android.widget.ListView; 
import android.widget.Toast; 

public class TadaList extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     final ListView listView = (ListView)findViewById(R.id.listView); 
     final EditText editText = (EditText)findViewById(R.id.editText); 

     final ArrayList<String> todoItems = new ArrayList<String>(); 
     final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, todoItems); 
     listView.setAdapter(adapter); 

     editText.setOnKeyListener(new OnKeyListener() { 
      public boolean onKey(View v, int keyCode, KeyEvent keyEvent) { 
       if (keyCode == KeyEvent.KEYCODE_ENTER) 
       { 
        todoItems.add(0, editText.getText().toString()); 
        adapter.notifyDataSetChanged(); 
        editText.setText(""); 
        return true; 
       } 
       return false; 
      } 
     }); 
    } 
} 

布局/ main.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"> 

    <EditText 
     android:id="@+id/editText" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Entry" 
    /> 

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

</LinearLayout> 

回答

0

你错过了很多的布局文件。

<?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"> 
    <EditText 
     android:id="@+id/editText" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Entry" 
    /> 

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

栈跟踪会有所帮助,但我想这可能是因为你没有为你的两个视图的容器。尝试用LinearLayout之类的东西包围你的两个视图。