Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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
在Android中使用列表视图外部的删除按钮删除列表视图中的项目_Android_Listview_Android Cursoradapter - Fatal编程技术网

在Android中使用列表视图外部的删除按钮删除列表视图中的项目

在Android中使用列表视图外部的删除按钮删除列表视图中的项目,android,listview,android-cursoradapter,Android,Listview,Android Cursoradapter,我正在使用一个自定义列表视图,它有一个复选框和按钮,并使用游标适配器填充列表视图 现在,当我单击按钮delete时,我想删除列表视图中的项目。因此,我先使用button click listener,然后在listview中捕获项目click,我为listview编写了itemclicklistener,然后尝试捕获,但这里没有任何功能,因为当在listview中单击项目时,控件将不会进入itemclicklistener 代码: 公共类管理器扩展活动{ 字符串getentry; 私有int s

我正在使用一个自定义列表视图,它有一个
复选框
按钮
,并使用游标适配器填充列表视图

现在,当我单击按钮
delete
时,我想删除列表视图中的项目。因此,我先使用button click listener,然后在listview中捕获项目click,我为listview编写了itemclicklistener,然后尝试捕获,但这里没有任何功能,因为当在listview中单击项目时,控件将不会进入
itemclicklistener

代码:

公共类管理器扩展活动{
字符串getentry;
私有int storeID=0;
//数据库d;
斯托克表街;
私人股票;
公共光标a1;
意向bd;
意向sd;
//ListView流行股票;
/*公共股票经理(){
//TODO自动生成的构造函数存根
}*/
静态类视窗夹{
复选框cb;
按钮视图1;
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.stockmanager);
//d=新数据库(getApplicationContext());
st=新股票表(getApplicationContext());
最终按钮AddStock=(按钮)findViewById(R.id.button1);
最终按钮DeleteStock=(按钮)findViewById(R.id.button3);
最终EditText条目=(EditText)findViewById(R.id.editText1);
最终按钮详细信息=(按钮)findViewById(R.id.button2);
//最终ListView popstocks=(ListView)findViewById(R.id.listView1);
最终ListView popstocks=(ListView)findViewById(R.id.listView1);
最终文本视图显示股票=(文本视图)findViewById(R.id.textView2);
********用于删除listview中的项的按钮**************************
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
//TODO自动生成的方法存根
//Toast.makeText(getApplicationContext(),popstocks.getCheckedItemCount(),Toast.LENGTH_LONG).show();
System.out.println(popstocks.getCheckedItemCount());
}
});
System.out.println(popstocks.isItemChecked(popstocks.getCheckedItemPosition());
}
});
}
公共类poplist扩展了CursorAdapter{
公共poplist(上下文,游标c){
超级(上下文,c);
//TODO自动生成的构造函数存根
}
//StockTable st1=新的StockTable(getApplicationContext());
//数据库d1=新数据库(getApplicationContext());
@凌驾
public void bindView(视图、上下文、光标c){
//TODO自动生成的方法存根
最终视图持有者myviewholder=新视图持有者();
myviewholder.cb=(复选框)view.findviewbyd(R.id.checkBox1);
myviewholder.view1=(按钮)view.findViewById(R.id.button1);
//if(c.moveToFirst()){
//cb.setText(a1.getString(a1.getColumnIndex(st1.column2));
//做{
//cb.setText(a1.getString(a1.getColumnIndexOrThrow(st.column2));
myviewholder.cb.setText(c.getString(c.getColumnIndexOrThrow(st.column3));
//}while(a1.moveToNext());
//  }
myviewholder.view1.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
sd=新意图(v.getContext(),StockDetail.class);
sd.putExtra(“StockName”,myviewholder.cb.getText());
星触觉;
}
});
}
@凌驾
公共视图newView(上下文上下文、光标c、视图组父对象){
//TODO自动生成的方法存根
LayoutFlater充气机=LayoutFlater.from(上下文);
视图v=充气机。充气(R.layout.stocklist,父项,false);
bindView(v,context,c);
返回v;
//返回null;
}
}
}
我如何解决这个问题?如果我走错了方向,我很乐意接受任何指导。我是Android的初学者

编辑
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.stockmanager);
//d=新数据库(getApplicationContext());
st=新股票表(getApplicationContext());
最终按钮AddStock=(按钮)findViewById(R.id.button1);
最终按钮DeleteStock=(按钮)findViewById(R.id.button3);
最终EditText条目=(EditText)findViewById(R.id.editText1);
最终按钮详细信息=(按钮)findViewById(R.id.button2);
//最终ListView popstocks=(ListView)findViewById(R.id.listView1);
最终ListView popstocks=(ListView)findViewById(R.id.listView1);
最终文本视图显示股票=(文本视图)findViewById(R.id.textView2);
displaystocks.setText(“您还没有添加任何股票,首先输入股票名称,然后单击添加股票按钮”);
getstocks=“选择”+st.column1+”作为_id,“+st.column3+”从“+st.tablename”;
a1=Da
public class manager extends Activity{
    
    String getentry;
    private int storeID=0;
    //Database d;
    StockTable st;
    private String getstocks;
    public Cursor a1;
    Intent bd;
    Intent sd;
    //ListView popstocks;
    
    /*public stockmanager() {
        // TODO Auto-generated constructor stub
        
    }*/
    
    static class ViewHolder {
        
        CheckBox cb;
        Button view1; 
    }
    
    
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.stockmanager);
        // d=new Database(getApplicationContext());
        st=new StockTable(getApplicationContext());
        final Button AddStock=(Button) findViewById(R.id.button1);
        final Button DeleteStock=(Button) findViewById(R.id.button3);
        final EditText entry=(EditText) findViewById(R.id.editText1);
        final Button BroDetail=(Button) findViewById(R.id.button2);
        //final ListView popstocks=(ListView) findViewById(R.id.listView1);
        final ListView popstocks =(ListView) findViewById(R.id.listView1);
        final TextView displaystocks=(TextView) findViewById(R.id.textView2);
            
            ********button that is used for deleting the item in listview**************************
        DeleteStock.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                popstocks.setOnItemClickListener(new OnItemClickListener() {

                    @Override
                    public void onItemClick(AdapterView<?> arg0, View arg1,
                            int arg2, long arg3) {
                        // TODO Auto-generated method stub
                        //Toast.makeText(getApplicationContext(), popstocks.getCheckedItemCount(), Toast.LENGTH_LONG).show();
                        System.out.println(popstocks.getCheckedItemCount());
                    }
                    
                    
                });
                System.out.println(popstocks.isItemChecked(popstocks.getCheckedItemPosition()));
            }
        });
        
            }
    public class poplist extends CursorAdapter{

        public poplist(Context context, Cursor c) {
            super(context, c);
            // TODO Auto-generated constructor stub
        }
        //StockTable st1=new StockTable(getApplicationContext());
        //Database d1=new Database(getApplicationContext());
        

        @Override
        public void bindView(View view, Context context, Cursor c) {
            // TODO Auto-generated method stub
            final ViewHolder myviewholder=new ViewHolder();
            myviewholder.cb=(CheckBox) view.findViewById(R.id.checkBox1);
            myviewholder.view1=(Button) view.findViewById(R.id.button1); 
            
            //if(c.moveToFirst()){
                
                //cb.setText(a1.getString(a1.getColumnIndex(st1.column2)));
                    //do{
                        //cb.setText(a1.getString(a1.getColumnIndexOrThrow(st.column2)));
            myviewholder.cb.setText(c.getString(c.getColumnIndexOrThrow(st.column3)));
                //  }while (a1.moveToNext());
                
            //  }
            
            myviewholder.view1.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    sd=new Intent(v.getContext(),StockDetail.class);
                    sd.putExtra("StockName", myviewholder.cb.getText());
                    startActivity(sd);
                    
                    
                }
            });
        }

        @Override
        public View newView(Context context, Cursor c, ViewGroup parent) {
            // TODO Auto-generated method stub
            LayoutInflater inflater = LayoutInflater.from(context);

            View v = inflater.inflate(R.layout.stocklist, parent, false);
                    bindView(v, context, c);
                   return v;
//          return null;
        }
        
        
    }

    
}
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.stockmanager);
        // d=new Database(getApplicationContext());
        st=new StockTable(getApplicationContext());
        final Button AddStock=(Button) findViewById(R.id.button1);
        final Button DeleteStock=(Button) findViewById(R.id.button3);
        final EditText entry=(EditText) findViewById(R.id.editText1);
        final Button BroDetail=(Button) findViewById(R.id.button2);
        //final ListView popstocks=(ListView) findViewById(R.id.listView1);
        final ListView popstocks =(ListView) findViewById(R.id.listView1);
        final TextView displaystocks=(TextView) findViewById(R.id.textView2);
        displaystocks.setText("You have not added any stocks start by entering stock name and clicking ADD Stock button");
        getstocks="Select " + st.column1 + " as _id, " + st.column3 + " From "+ st.tablename;
        a1=Database.getInstance(getApplicationContext()).getWritableDatabase().rawQuery(getstocks, null);
        if(a1.moveToNext())
        {
            displaystocks.setVisibility(View.INVISIBLE);
        }
        poplist populatestocks=new poplist(getApplicationContext(),a1) ;
        popstocks.setAdapter(populatestocks);
        
        popstocks.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                
                System.out.println("Item Clicked");
                System.out.println(popstocks.getCheckedItemPosition());
            }
        });
 @Override
        public void bindView(View view, Context context, Cursor c) {
            // TODO Auto-generated method stub
            final ViewHolder myviewholder=new ViewHolder();
            myviewholder.cb=(CheckBox) view.findViewById(R.id.checkBox1);
            myviewholder.view1=(Button) view.findViewById(R.id.button1); 

            //if(c.moveToFirst()){

                //cb.setText(a1.getString(a1.getColumnIndex(st1.column2)));
                    //do{
                        //cb.setText(a1.getString(a1.getColumnIndexOrThrow(st.column2)));
            myviewholder.cb.setText(c.getString(c.getColumnIndexOrThrow(st.column3)));
                //  }while (a1.moveToNext());

            //  }

           myviewholder.cb.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                   // CheckBox Clicked


                }
            });

            myviewholder.view1.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    sd=new Intent(v.getContext(),StockDetail.class);
                    sd.putExtra("StockName", myviewholder.cb.getText());
                    startActivity(sd);


                }
            });
        }