Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.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 从左向右滑动从Listview中删除项目_Java_Android_Listview_Android Listview_Swipe - Fatal编程技术网

Java 从左向右滑动从Listview中删除项目

Java 从左向右滑动从Listview中删除项目,java,android,listview,android-listview,swipe,Java,Android,Listview,Android Listview,Swipe,当我从左向右滑动时,我试图找出如何从列表视图中删除项目。我将在下面附上我的代码。现在,我正在使用SQLite DB并创建了自己的自定义listview适配器。我正在创建一个简单的列表来删除和添加项目。我有添加项目的工作,现在我只需要弄清楚如何从左向右滑动的列表视图中删除项目。我的想法是,当你从左向右滑动时,会出现一个表示删除的按钮。用户可以单击它从列表中删除项目 主菜单\u activity.java public class main_menu_activity extends Activit

当我从左向右滑动时,我试图找出如何从列表视图中删除项目。我将在下面附上我的代码。现在,我正在使用SQLite DB并创建了自己的自定义listview适配器。我正在创建一个简单的列表来删除和添加项目。我有添加项目的工作,现在我只需要弄清楚如何从左向右滑动的列表视图中删除项目。我的想法是,当你从左向右滑动时,会出现一个表示删除的按钮。用户可以单击它从列表中删除项目

主菜单\u activity.java

public class main_menu_activity extends Activity
{
    DatabaseHandler db;
    ArrayList<Account> account_details;
    ListView accountList;

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

        accountList = (ListView)findViewById(R.id.accountListView);

        // Initiates SQLite Database
        db = new DatabaseHandler(getApplicationContext());
        // Displays ListView
        displayListView();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        // Inflate the menu; this adds items to the action bar if it is present.
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main_menu_activity, menu);

        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        // take appropriate action for each action item clicked
        switch(item.getItemId())
        {
            case R.id.action_add_new:
            {
                // perform add new item action
                AlertDialog.Builder alert = new AlertDialog.Builder(this);
                alert.setMessage("Enter account details:");

                LinearLayout layout = new LinearLayout(this);
                layout.setOrientation(LinearLayout.VERTICAL);

                // Set an EditText view
                final EditText input = new EditText(this);
                input.setHint("Account Name");
                layout.addView(input);

                final EditText input2 = new EditText(this);
                input2.setHint("Account Balance");
                layout.addView(input2);

                alert.setView(layout);

                alert.setPositiveButton("Save", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i)
                    {
                        if (input.getText().toString() != null)
                        {
                            // Create empty Account
                            Account temp_account;
                            temp_account = new Account();

                            // Save information to SQLiteDatabase
                            temp_account.setAccountName(input.getText().toString());
                            temp_account.setAccountBalance(Double.parseDouble(input2.getText().toString()));

                            // Add temp account
                            db.addAccount(temp_account);
                            displayListView();
                        }
                        else
                        {    
                            dialogInterface.cancel();
                        }
                    }
                });
                alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
                {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i)
                    {
                        // cancel
                        dialogInterface.cancel();
                    }
                });

                alert.show();
                return true;
            }
            default:
            {
                return super.onOptionsItemSelected(item);
            }
        }
    }

    // DISPLAY ACCOUNT LISTVIEW //
    public void displayListView()
    {
        account_details = new ArrayList<Account>();
        account_details = db.getAllAccounts();
        accountList.setAdapter(new ListViewBaseAdapter(account_details,this));
    }
}
public类主菜单\u活动扩展活动
{
数据库处理程序数据库;
ArrayList账户详细信息;
列表视图帐户列表;
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u主菜单\u活动);
accountList=(ListView)findViewById(R.id.accountListView);
//启动SQLite数据库
db=新的DatabaseHandler(getApplicationContext());
//显示列表视图
displayListView();
}
@凌驾
公共布尔onCreateOptions菜单(菜单)
{
//为菜单充气;这会将项目添加到操作栏(如果存在)。
MenuInflater充气机=getMenuInflater();
充气机。充气(右菜单。主菜单活动,菜单);
返回super.onCreateOptions菜单(菜单);
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项)
{
//对单击的每个操作项采取适当的操作
开关(item.getItemId())
{
案例R.id.行动\添加\新增:
{
//执行添加新项目操作
AlertDialog.Builder alert=新建AlertDialog.Builder(此);
alert.setMessage(“输入帐户详细信息:”);
LinearLayout布局=新的LinearLayout(本);
布局。设置方向(线性布局。垂直);
//设置编辑文本视图
最终编辑文本输入=新编辑文本(本);
input.setHint(“账户名称”);
layout.addView(输入);
最终编辑文本输入2=新编辑文本(本);
输入2.设置提示(“账户余额”);
布局。添加视图(输入2);
alert.setView(布局);
alert.setPositiveButton(“保存”,新建DialogInterface.OnClickListener()){
@凌驾
公共void onClick(DialogInterface,inti)
{
if(input.getText().toString()!=null)
{
//创建空帐户
账户临时账户;
临时账户=新账户();
//将信息保存到SQLITE数据库
temp_account.setAccountName(input.getText().toString());
temp_account.setAccountBalance(Double.parseDouble(input2.getText().toString());
//添加临时帐户
db.ADDCOUNT(临时账户);
displayListView();
}
其他的
{    
dialogInterface.cancel();
}
}
});
alert.setNegativeButton(“取消”,新建DialogInterface.OnClickListener())
{
@凌驾
公共void onClick(DialogInterface,inti)
{
//取消
dialogInterface.cancel();
}
});
alert.show();
返回true;
}
违约:
{
返回super.onOptionsItemSelected(项目);
}
}
}
//显示帐户列表视图//
public void displayListView()
{
account_details=new ArrayList();
account_details=db.getAllAccounts();
setAdapter(新的ListViewBaseAdapter(account_详细信息,this));
}
}
listview.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="6dip" >

<TextView
    android:id="@+id/account_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:textColor="#00628B"
    android:textSize="22dp"
    android:textStyle="bold"/>

<TextView
    android:id="@+id/account_balance"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:textColor="#00628B"
    android:textSize="22dp"/>

</RelativeLayout>

活动\主菜单\活动.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#E6E6DC">

<!---
    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:dividerHeight="0.2dp"
        andrivider="#000"/>
-->
<ListView
    android:id="@+id/accountListView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:dividerHeight="0.1dp"
    android:divider="#81A594"/>

</LinearLayout>

浏览此网站了解reult


这个例子在我的项目中确实不起作用。差异不是我想要的。谢谢你。