Java 无法在edittext中显示数据库中的数据

Java 无法在edittext中显示数据库中的数据,java,database,Java,Database,我正在制作一个表单FVPI.java。在表单中,我从数据库中获取数据,但无法在表单中显示。这是源代码表单FVPI.java。请帮忙 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onSaveInstanceState(savedInstanceState); View v = inflater.inflate(R.l

我正在制作一个表单FVPI.java。在表单中,我从数据库中获取数据,但无法在表单中显示。这是源代码表单FVPI.java。请帮忙

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    super.onSaveInstanceState(savedInstanceState);
    View v = inflater.inflate(R.layout.fvpi, null);
      dataSource = new DBDataSource(getActivity());
      dataSource.open();

      edtsales= (EditText) v.findViewById(R.id.txtsales);
      edttglpros= (EditText) v.findViewById(R.id.txttgl);
      edtnamacustomer= (EditText) v.findViewById(R.id.txtnamacustomer);
      edtalamat= (EditText) v.findViewById(R.id.txtalamat);
      edtarea= (EditText) v.findViewById(R.id.txtarea);
      edtcp= (EditText) v.findViewById(R.id.txtcp);
      edtnotelp= (EditText) v.findViewById(R.id.txtphone);
      edtemail= (EditText) v.findViewById(R.id.txtemail);
      edtowner= (EditText) v.findViewById(R.id.txtowner);
      edtdirector= (EditText) v.findViewById(R.id.txtdirector);
      edtgroupcompany= (EditText) v.findViewById(R.id.txtgroupcompany);

        Customer customer = dataSource.getCustomer(customerid);
        if(Globals.customerpros==null){
            Globals.customerpros=customer;
        }
        edtnamacustomer.setText(customer.getname());
        edtalamat.setText(customer.getAddress());
        edtarea.setText(customer.getArea());
        edtcp.setText(customer.getContactperson());
        edtnotelp.setText(customer.getPhoneno());
        edtemail.setText(customer.getCustomeremail());
        edtowner.setText(customer.getOwner());
        edtdirector.setText(customer.getDirector());
        edtgroupcompany.setText(customer.getGroupcompany());
        edkapasitaspros.setText(customer.getCapacity());
这是DBdatasource.java

public Customer getCustomer(String customerid){
        Customer Customer = new Customer();
        Cursor cursor = database.query(DBHelper.CUSTOMER, allCustomer, DBHelper.CUSTOMER_ID +"='cus1' ", null, null, null, null);
        cursor.moveToFirst();
        Customer = cursorToCustomer(cursor);
        cursor.close();
        return Customer;
    }

    private Customer cursorToCustomer(Cursor cursor)
    {
        Customer Customer = new Customer();
        Log.v("info", "The getString "+cursor.getString(cursor.getColumnIndex(DBHelper.CUSTOMER_ID)));
        Log.v("info", "The setLatLng " +cursor.getString(cursor.getColumnIndex(DBHelper.NAME))+","
                                       +cursor.getString(cursor.getColumnIndex(DBHelper.ADDRESS))+","
                                       +cursor.getString(cursor.getColumnIndex(DBHelper.AREA))+","
                                       +cursor.getString(cursor.getColumnIndex(DBHelper.CONTACT_PERSON))+","
                                       +cursor.getString(cursor.getColumnIndex(DBHelper.PHONE_NO))+","
                                       +cursor.getString(cursor.getColumnIndex(DBHelper.CUSTOMER_EMAIL))+","
                                       +cursor.getString(cursor.getColumnIndex(DBHelper.OWNER))+","
                                       +cursor.getString(cursor.getColumnIndex(DBHelper.DIRECTOR))+","
                                       +cursor.getString(cursor.getColumnIndex(DBHelper.GROUP_COMPANY))+","
                                       +cursor.getString(cursor.getColumnIndex(DBHelper.CAPACITY)));
        Customer.setcustomerid(cursor.getString(cursor.getColumnIndex(DBHelper.CUSTOMER_ID)));
        Customer.setname(cursor.getString(cursor.getColumnIndex(DBHelper.NAME)));
        Customer.setAddress(cursor.getString(cursor.getColumnIndex(DBHelper.ADDRESS)));
        Customer.setCity(cursor.getString(cursor.getColumnIndex(DBHelper.CITY)));
        Customer.setZipcode(cursor.getString(cursor.getColumnIndex(DBHelper.ZIPCODE)));
        Customer.setArea(cursor.getString(cursor.getColumnIndex(DBHelper.AREA)));
        Customer.setContactperson(cursor.getString(cursor.getColumnIndex(DBHelper.CONTACT_PERSON)));
        Customer.setPhoneno(cursor.getString(cursor.getColumnIndex(DBHelper.PHONE_NO)));
        Customer.setMobileno(cursor.getString(cursor.getColumnIndex(DBHelper.MOBILE_NO)));
        Customer.setCustomeremail(cursor.getString(cursor.getColumnIndex(DBHelper.CUSTOMER_ID)));
        Customer.setOwner(cursor.getString(cursor.getColumnIndex(DBHelper.OWNER)));
        Customer.setDirector(cursor.getString(cursor.getColumnIndex(DBHelper.DIRECTOR)));
        Customer.setGroupcompany(cursor.getString(cursor.getColumnIndex(DBHelper.GROUP_COMPANY)));
        Customer.setCapacity(cursor.getString(cursor.getColumnIndex(DBHelper.CAPACITY)));
        Customer.setOrderestimate(cursor.getString(cursor.getColumnIndex(DBHelper.ORDERESTIMATE)));
        Customer.setComplainer(cursor.getString(cursor.getColumnIndex(DBHelper.COMPLAINER)));
        return Customer;
    }
日志中的这个错误

03-04 09:53:01.805: V/info(7604): The getString cus1
03-04 09:53:01.805: V/info(7604): The setLatLng toko maju jaya,alam sutera,Banten,Warda,02153120019,toko@gmail.com,warda,warda,IMS Group,1000
03-04 09:53:01.805: W/dalvikvm(7604): threadid=1: thread exiting with uncaught exception (group=0x41610450)
03-04 09:53:01.815: E/AndroidRuntime(7604): FATAL EXCEPTION: main
03-04 09:53:01.815: E/AndroidRuntime(7604): java.lang.NullPointerException
03-04 09:53:01.815: E/AndroidRuntime(7604):     at ims.app.mobileorder.FVPI.onCreateView(FVPI.java:151)
03-04 09:53:01.815: E/AndroidRuntime(7604):     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500)
03-04 09:53:01.815: E/AndroidRuntime(7604):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
尝试这种方式(更改已标记) 顺便说一句,实例化一个新对象并将其命名为与类本身相同的名称是不好的做法,可能会导致过程中出现重大错误

代码中的主要问题是,您收到了一个名为“customerid”的字符串,但在光标中搜索这个“cus1”

公共客户getCustomer(字符串customerid){

Customer Customer=new Customer();//我尝试了这一次,但仍然没有任何结果。是否有其他建议?是否确实更改了此行游标游标=database.query(DBHelper.Customer,allCustomer,DBHelper.Customer\u ID+“=”+customerid,null,null,null);如a所说?这是samae。我使用了该方法,但什么也没发生。我建议您使用断点调试代码,以确保一切正常,因为我尝试了我向您展示的代码,如果程序中的其他所有内容都是正确的,那么这部分也应该是因为它在我的测试程序中运行良好
public Customer getCustomer(String customerid){
    Customer customer = new Customer();  //<--
    Cursor cursor = database.query(DBHelper.CUSTOMER, allCustomer, DBHelper.CUSTOMER_ID +"=" + customerid, null, null, null, null); //<--
    cursor.moveToFirst();
    customer = cursorToCustomer(cursor); //<--
    cursor.close();
    return customer; //<--
}