YXTS122 2016-12-23 10:12 采纳率: 100%
浏览 1237
已采纳

显示更新成功了,但我在查询数据时按选择按钮并没有更新

图片说明
图片说明
MainActivity.java

 package com.example.sqlite;

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

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{
    private static final String TAG="Add"; 
    private static final ListAdapter listAdapter = null; 
    private EditText ecode,ename,ebirth; 
    private Button badd,bdel,bupdate,bsele; 
    private SQLiteDatabase db=null; 
    private TextView tedatashow; 
    private ListView datashow;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ecode=(EditText)findViewById(R.id.ecode); 
        ename=(EditText)findViewById(R.id.ename); 
        ebirth=(EditText)findViewById(R.id.ebirth); 
        badd=(Button)findViewById(R.id.badd); 
        bdel=(Button)findViewById(R.id.bdel); 
        bupdate=(Button)findViewById(R.id.bupdate); 
        bsele=(Button)findViewById(R.id.bsele); 
        tedatashow=(TextView)findViewById(R.id.tedatashow); 
        datashow=(ListView)findViewById(R.id.datashow); 
        badd.setOnClickListener((android.view.View.OnClickListener) this); 
        bdel.setOnClickListener((android.view.View.OnClickListener) this); 
        bsele.setOnClickListener((android.view.View.OnClickListener) this); 
        bupdate.setOnClickListener((android.view.View.OnClickListener) this);
    }

    public void onClick(View v) 
    { 
        // TODO Auto-generated method stub 
        MyDBHelper helper=new MyDBHelper(this); 
        String code=ecode.getText().toString().trim();
        String name=ename.getText().toString().trim();
        String birth=ebirth.getText().toString().trim();
        if(v==badd)
        {
            if(code.length()!=0 && name.length()!=0 && birth.length()!=0)
            {
                try
                {
                    db=helper.getWritableDatabase(); 
                    String sql="INSERT INTO user(ecode,ename,ebirth)" +"VALUES('"+ecode.getText()+"','" +ename.getText()+"','" +ebirth.getText()+"')"; 
                    db.execSQL(sql); 
                    Toast.makeText(this, "添加成功!", Toast.LENGTH_LONG).show(); 
                    ecode.setText(""); 
                    ename.setText(""); 
                    ebirth.setText(""); 
                }
                catch(Exception e)
                {
                    Toast.makeText(this, "出错了!"+ e.getMessage(),Toast.LENGTH_LONG).show(); 
                } 
            }
            else
                Toast.makeText(this, "学号和姓名出生日期不能为空!", Toast.LENGTH_LONG).show(); 
        } 
        if(v==bdel)
        {
            if(code.length()!=0)
            {
                try
                {
                    db=helper.getWritableDatabase(); 
                    String sql="delete from user where ecode='"+ecode.getText()+"'"; 
                    db.execSQL(sql); 
                    Toast.makeText(this, "成功删除!", Toast.LENGTH_LONG).show(); 
                    ecode.setText(""); 
                }
                catch(Exception e)
                {
                    Toast.makeText(this, "出错了!", Toast.LENGTH_LONG).show(); 
                }
            }
        }
                if(v==bupdate)
                {
                    db=helper.getWritableDatabase();
                    if(code.length()!=0 && name.length()!=0 && birth.length()!=0)
                    {
                        try
                        {
                            String sql="update user set ecode='"+ecode.getText() +"'where ename='"+ename.getText()+"'and ebirth='" +ebirth.getText()+"'and ecode='" +ecode.getText()+"'"; 
                            db.execSQL(sql); 
                            Toast.makeText(this, "成功更新!", Toast.LENGTH_LONG).show(); 
                            ecode.setText(""); 
                            ename.setText(""); 
                            ebirth.setText(""); 
                        }
                        catch(Exception e)
                        {
                            Toast.makeText(this, "出错了!"+e.getMessage(),Toast.LENGTH_LONG).show(); 
                        } 
                    }
                    else
                        Toast.makeText(this, "学号姓名出生日期不能为空!", Toast.LENGTH_LONG).show(); 
                }
                if(v==bsele)
                {
                    if(code.length()!=0)
                    {
                    try
                    {
                        ArrayList<String> all=new ArrayList<String>(); 
                        String sql="select * from user where ecode =? or ename =? or ebirth =? "; 
                        Cursor result=helper.getReadableDatabase().rawQuery(sql,new String[]{code,code,code}); 
                        while(result.moveToNext())
                        {
                            all.add("["+result.getString(0)+"]"+""+result.getString(1)+","+result.getString(2)); 
                        }
                        ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,all); 
                        datashow.setAdapter(arrayAdapter);
                    }
                    catch(Exception f)
                    {
                        Toast.makeText(this, "显示不了", Toast.LENGTH_LONG).show(); 
                    }
                    }
                }
                db.close(); 
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, 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;
        }
        return super.onOptionsItemSelected(item);
    }
}

MyDBHelper.java

 package com.example.sqlite;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class MyDBHelper extends SQLiteOpenHelper{
    public MyDBHelper(Context context)
    {
        super(context,"mvdb.db",null,2);
    }

    public void onCreate(SQLiteDatabase db)
    {
        String sql="create table user(ecode text,ename text,ebirth text);";
        db.execSQL(sql);
    }

    public void onUpgrade(SQLiteDatabase db,int arg1,int arg2)
    {
        String sql="create table user(ecode text,ename text,ebirth text);";
        db.execSQL(sql);
        this.onCreate(db);
    }

}

显示更新成功了,但我在查询数据时按选择按钮并没有更新

  • 写回答

1条回答 默认 最新

  • AI视觉网奇 Python领域优质创作者 2016-12-23 14:12
    关注

    arrayAdapter.notifydatasetchanged();
    更新完数据调用这个就可以了,不行再问我,qq441648051

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功