我正在制作表格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;
}
和log cat
中的此错误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)
答案 0 :(得分:0)
尝试这种方式(标记更改) BTW实例化一个新对象并将其命名为类本身并不是一个好习惯,可能会导致一路上出现重大错误
您的代码中存在的主要问题是,您收到一个名为“customerid”的字符串,但在光标中搜索此“cus1”
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; //<--
}