2010-12-02 62 views
0

上午教程以下位置: http://www.mydroid.apnafundaz.com/2010/07/todolist-application-in-android-step-by-step-guide-with-screen-shots/Android的簡易待辦事項清單應用程序創建一個簡單的待辦事項列表應用程序無法正常呈現

完成並沒有錯誤,但我的應用程序不會出現像在這個例子中,而它看起來像這樣 - 基本上EditText出現,但沒有ListView與以前的任務...

由於沒有錯誤,很難找出我要去哪裏錯了,但作爲我的合作伙伴也做同樣的教程,並提出了完全相同的結果,我認爲這可能是一個問題,嘖嘖 - 任何建議非常感謝!

以防萬一,這是我的java文件:

package com.example.helloworld; 

import java.util.ArrayList; 
import android.R.string; 
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; 

public class HelloWorld extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // Inflate your view 
    setContentView(R.layout.main); 

    // Get references to UI widgets 
    ListView myListView = (ListView)findViewById(R.id.myListView); 
    final EditText myEditText = (EditText)findViewById(R.id.myEditText); 

    // Create the array list of todo items 
    final ArrayList<String> todoItems = new ArrayList<String>(); 

    // Create the array adaptor to bind the array to the listview 
    final ArrayAdapter<String> aa; 

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

    // Bind the array adapter to the listview 
    myListView.setAdapter(aa); 

    myEditText.setOnKeyListener(new OnKeyListener(){ 

    public boolean onKey(View v, int keyCode, KeyEvent event){ 
     if(event.getAction() == KeyEvent.ACTION_DOWN) 
     if(keyCode == KeyEvent.KEYCODE_DPAD_CENTER) 
     { 
     todoItems.add(0,myEditText.getText().toString()); 
     aa.notifyDataSetChanged(); 
     myEditText.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/myEditText" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:text="New to Do Item" 
    /> 
    <ListView 
android:id="@+id/myListView" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
    /> 
    </LinearLayout> 
+0

爲什麼你要關注這個尷尬的教程?這不是特別好:它沒有教授關於`ListActivity`,它沒有講授數據持久性,而且代碼大多寫得不好,而且很糟糕。 http://developer.android.com/有很多不錯的教程,爲什麼不從那裏開始? – Felix 2010-12-02 14:10:50

+0

我已經在我的博客中編寫了關於TODO應用程序的教程。有關詳細信息,請訪問 http://www.harshaprabha.blogspot.com/ – Harsha 2011-06-24 08:14:46

回答

1

做一個小的改變,在你的EditText你正在設置android:layout_height="fill_parent"。所以你看不到列表視圖。只需將其更改爲wrap_content

<EditText 
android:id="@+id/myEditText" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="New to Do Item" 
    /> 
0

在首次啓動時,您的列表應該是空的,因爲您沒有定義以前的待辦事項。你有沒有試圖用edittext添加待辦事項?之後,你應該在列表視圖中看到它。

1

KEYCODE_DPAD_CENTER是一個奇怪的選擇鍵碼......你是否真的按此來添加edittext內容到列表中?這是一個奇怪的選擇,因爲一些手機沒有方向鍵。嘗試將其更改爲KEYCODE_ENTER。

+0

或更好,然後在按下操作按鈕時使用OnKeyboardActionListener ... – 2010-12-02 13:25:32

相關問題