私はAndroidが新しく、Wrox PressのProfessional Android 2 Application Developmentの本を読んでいます。最初のチュートリアルの1つは、項目を順番に追加する単純なTo-Doリストです(情報やそのようなものは保存しません。後で教えます)。私が持っている問題は、私が書いたものを印刷するだけでなく、このような空のアイテムを追加することです(申し訳ありませんが、私は10以上の評判がないので、画像を投稿できません。アイデア):シンプルなTo-Doリストの例がAndroidで動作しない
(空のペース)
2番目のタスク
(空きスペース)
まずタスク
それは本の中で、それがWebページhereに表示されるように書かれているように、コードは同じであり、エラッタセクションの確認エラーがありません。
package com.paad.todoList;
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;
public class Todo_ListActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Get references to UI widgets
ListView myListView = (ListView) findViewById(R.id.myListView);
final EditText myEditText = (EditText)findViewById(R.id.myEditText);
//Creates the array list of to do items
final ArrayList <String> todoItems = new ArrayList <String>();
//Create the array adapter 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 (keyCode == KeyEvent.KEYCODE_DPAD_CENTER){
todoItems.add(0, myEditText.getText().toString());
aa.notifyDataSetChanged();
myEditText.setText("");
return true;
}
else 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="wrap_content"
android:text="New To Do Item"
/>
<ListView
android:id="@+id/myListView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
私はバグは、このラインからどこかに来て知っている:
myEditText.setText("");
私はその行をコメントアウトした場合、プログラムは私が書いたものを2回追加します。私は、引用符の内側に何かを追加する場合
Second Task
Second Task
First Task
First Task
を...
myEditText.setText("Error");
それは、それを印刷します:
Error
Second task
Error
First Task
私はlooke Android APIでdアップしましたが、解決策が見つかりません。誰かが私を助けることができますか?どのように私はそれを動作するものに置き換えることができますか?
申し訳ありませんが私の応答の遅れのために、私は忙しい週末を過ごしました:P @hossaindoulaと@Gregoryの両方が正しいですが、異なる方法です。私(そしてその本も)がキーボードイベントを正しく使用していなかったことを指摘することは、うまくいくものを開発する鍵でした。今は続けることができます。みんなありがとう! – Versec