Java 无法在edittext中显示数据库中的数据
我正在制作一个表单FVPI.java。在表单中,我从数据库中获取数据,但无法在表单中显示。这是源代码表单FVPI.java。请帮忙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
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; //<--
}