Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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 如何在Android Studio中从ListView(数组列表)中删除项目?_Java_Android_Listview - Fatal编程技术网

Java 如何在Android Studio中从ListView(数组列表)中删除项目?

Java 如何在Android Studio中从ListView(数组列表)中删除项目?,java,android,listview,Java,Android,Listview,我正在构建一个简单的应用程序,用户可以在列表视图中添加一行程序,然后在列表视图中单击该项目,该项目将被删除 我已经完成了添加部分,但是,当通过单击删除项目时,我面临一个问题。我的java代码如下: package com.example.supornochaudhury.schedulerapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; imp

我正在构建一个简单的应用程序,用户可以在列表视图中添加一行程序,然后在列表视图中单击该项目,该项目将被删除

我已经完成了添加部分,但是,当通过单击删除项目时,我面临一个问题。我的java代码如下:

 package com.example.supornochaudhury.schedulerapplication;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.EditText;
    import android.widget.ListView;
    import android.widget.SeekBar;
    import android.widget.Toast;

    import java.util.ArrayList;
    import java.util.List;

    import static com.example.supornochaudhury.schedulerapplication.R.id.parent;
    import static com.example.supornochaudhury.schedulerapplication.R.id.select_dialog_listview;

    public class MainActivity extends AppCompatActivity {

    ListView timesTableListView;
    ArrayList<String> Works = new ArrayList<String>();



    public void startWork (View view){
        EditText edit = (EditText) findViewById(R.id.toDoEditText);
        String name=edit.getText().toString();

        Works.add(name);
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.select_dialog_item, Works );
        timesTableListView.setAdapter(arrayAdapter);

    }



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

        timesTableListView = (ListView)findViewById(R.id.timesTableListView);
        timesTableListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //Toast.makeText(getApplicationContext(), "Click ListItem Number " + position, Toast.LENGTH_LONG).show();
                timesTableListView.removeViewAt(position);
            }
        });
    }
}
package com.example.supornochaudhury.schedulerapplication;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.EditText;
导入android.widget.ListView;
导入android.widget.SeekBar;
导入android.widget.Toast;
导入java.util.ArrayList;
导入java.util.List;
导入静态com.example.supornochaudhury.schedulerapplication.R.id.parent;
导入静态com.example.supornochaudhury.schedulerapplication.R.id.select_dialog_listview;
公共类MainActivity扩展了AppCompatActivity{
ListView timesTableListView;
ArrayList Works=新建ArrayList();
公共无效启动网络(视图){
EditText edit=(EditText)findViewById(R.id.toDoEditText);
字符串名称=edit.getText().toString();
工程。添加(名称);
ArrayAdapter ArrayAdapter=新的ArrayAdapter(这个,android.R.layout.select_对话框_项,有效);
setAdapter(arrayAdapter);
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timesTableListView=(ListView)findViewById(R.id.timesTableListView);
timesTableListView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//Toast.makeText(getApplicationContext(),“单击列表项编号”+位置,Toast.LENGTH\u LONG.show();
TimeTableListView.removeViewAt(位置);
}
});
}
}
在我的手机上运行此应用程序后,我可以添加任何问题,但是,当我单击任何项目时,应用程序崩溃


如果有人帮忙,我将不胜感激。:)

将arrayAdapter用作全局。 然后从数组列表中删除一个项,并使用NOTIFYDATASETCHANGE()来创建适配器

timesTableListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //Toast.makeText(getApplicationContext(), "Click ListItem Number " + position, Toast.LENGTH_LONG).show();
                Works.remov(position);
arrayAdapter.notifyDataSetChanged();
            }
        });
timesTableListView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//Toast.makeText(getApplicationContext(),“单击列表项编号”+位置,Toast.LENGTH\u LONG.show();
工程.搬迁(职位);
arrayAdapter.notifyDataSetChanged();
}
});

请先删除从Works ArrayList中单击的项目,然后在适配器上调用notifyDataSetChanged()

我现在没有android studio,但是
删除视图???
哪个视图??尝试
remove
removeAt
(或类似的东西..但不是view…)可以发布日志cat输出吗?