Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 试图通过按Enter键将EditText的内容添加到ListView_Java_Android - Fatal编程技术网

Java 试图通过按Enter键将EditText的内容添加到ListView

Java 试图通过按Enter键将EditText的内容添加到ListView,java,android,Java,Android,我试图通过按Enter键将EditText的内容添加到列表视图中,但当我按Enter键时,EditText字段会变大,列表中不会添加任何内容,也不会显示任何内容 import java.util.ArrayList; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.KeyEvent; import android.view.Menu; import an

我试图通过按Enter键将EditText的内容添加到列表视图中,但当我按Enter键时,EditText字段会变大,列表中不会添加任何内容,也不会显示任何内容

import java.util.ArrayList;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

public class ToDoListActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_to_do_list);

        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,
                android.R.layout.simple_list_item_1, 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) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.to_do_list, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        if (id == R.id.action_menu) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

}



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/myEditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/addItemHint" />

    <ListView
        android:id="@+id/myListView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />


</LinearLayout>
import java.util.ArrayList;
导入android.os.Bundle;
导入android.support.v7.app.ActionBarActivity;
导入android.view.KeyEvent;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.view.view.OnKeyListener;
导入android.widget.ArrayAdapter;
导入android.widget.EditText;
导入android.widget.ListView;
公共类ToDoListativity扩展了ActionBarActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u to\u do\u列表);
ListView myListView=(ListView)findViewById(R.id.myListView);
final EditText myEditText=(EditText)findViewById(R.id.myEditText);
最终ArrayList toDoItems=新ArrayList();
最终阵列适配器aa;
aa=新阵列适配器(此,
android.R.layout.simple_list_item_1,toDoItems);
myListView.setAdapter(aa);
myEditText.setOnKeyListener(新视图.OnKeyListener(){
公共布尔onKey(视图v、int keyCode、KeyEvent事件){
if(event.getAction()==KeyEvent.ACTION\u向下)
if((keyCode==KeyEvent.keyCode\u DPAD\u中心)
||(keyCode==KeyEvent.keyCode\u ENTER)){
添加(0,myEditText.getText().toString());
aa.notifyDataSetChanged();
myEditText.setText(“”);
返回true;
}
返回false;
}
});
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(右菜单至待办事项列表,菜单);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//处理操作栏项目单击此处。操作栏将
//自动处理Home/Up按钮上的点击,只要
//在AndroidManifest.xml中指定父活动时。
int id=item.getItemId();
if(id==R.id.action\u设置){
返回true;
}
if(id==R.id.action\u菜单){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
}
aa.notifyDataSetChanged();有时不刷新列表视图

在此声明之后

toDoItems.add(0, myEditText.getText().toString());
打印toDoItems中的项目。如果将该值插入arraylist,则问题在于aa.notifyDataSetChanged()。如果这是问题所在,则必须检查刷新列表视图的其他方法。notifyDataSetChanged();有时不刷新列表视图

在此声明之后

toDoItems.add(0, myEditText.getText().toString());
打印toDoItems中的项目。如果将该值插入arraylist,则问题在于aa.notifyDataSetChanged()。如果这是问题所在,则必须检查刷新列表视图的其他方法。notifyDataSetChanged();有时不刷新列表视图

在此声明之后

toDoItems.add(0, myEditText.getText().toString());
打印toDoItems中的项目。如果将该值插入arraylist,则问题在于aa.notifyDataSetChanged()。如果这是问题所在,则必须检查刷新列表视图的其他方法。notifyDataSetChanged();有时不刷新列表视图

在此声明之后

toDoItems.add(0, myEditText.getText().toString());
打印toDoItems中的项目。如果将该值插入arraylist,则问题在于aa.notifyDataSetChanged()。如果这是问题所在,您必须检查刷新列表视图的其他方法-

    <EditText
    android:id="@+id/myEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/addItemHint"
    android:maxLines="1" />
}))

试试这个-

    <EditText
    android:id="@+id/myEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/addItemHint"
    android:maxLines="1" />
}))

试试这个-

    <EditText
    android:id="@+id/myEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/addItemHint"
    android:maxLines="1" />
}))

试试这个-

    <EditText
    android:id="@+id/myEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/addItemHint"
    android:maxLines="1" />

}))

myEditText.setText(“”)实际被调用?您应该尝试添加一些
System.out.println()要调试的语句。请参阅Is
myEditText.setText(“”)实际被调用?您应该尝试添加一些
System.out.println()要调试的语句。请参阅Is
myEditText.setText(“”)实际被调用?您应该尝试添加一些
System.out.println()要调试的语句。请参阅Is
myEditText.setText(“”)实际被调用?您应该尝试添加一些
System.out.println()要调试的语句。在放入System.out.println(toDoItems)后,看不到任何内容被打印出来;在toDoItems.add()之后,在放入System.out.println(toDoItems)之后不会打印任何内容;在toDoItems.add()之后,在放入System.out.println(toDoItems)之后不会打印任何内容;在toDoItems.add()之后,在放入System.out.println(toDoItems)之后不会打印任何内容;toDoItems.add()之后,如果此答案解决了您的问题,请将其标记为正确答案。如果此答案解决了您的问题,请将其标记为正确答案。如果此答案解决了您的问题,请将其标记为正确答案。如果此答案解决了您的问题,请将其标记为正确答案。