영어로 죄송합니다! BigDecimal에 문제가 있습니다. SQLiteDatabase를 만들었습니다. 이제 검색보기로 검색하고 싶습니다.문자열 to BigDecimal
private void showResults(String query) {
Cursor cursor = mDbHelper.searchCustomer((query != null ? query.toString() : "@@@@[email protected]@"));
if (cursor == null) {
//
} else {
// Specify the columns we want to display in the result
String[] from = new String[] {
ItemDbAdapter.KEY_1,
ItemDbAdapter.KEY_2,
ItemDbAdapter.KEY_3,
ItemDbAdapter.KEY_4,
ItemDbAdapter.KEY_5,
ItemDbAdapter.KEY_6,
ItemDbAdapter.KEY_7,
ItemDbAdapter.KEY_8};
// Specify the Corresponding layout elements where we want the
// columns to go
int[] to = new int[] {
R.id.result_1,
R.id.result_2,
R.id.result_3,
R.id.result_4,
R.id.result_5,
R.id.result_6,
R.id.result_7,
R.id.result_8};
SimpleCursorAdapter customers = new SimpleCursorAdapter(this,
R.layout.customresult, cursor, from, to);
mListView.setAdapter(customers);
mListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
np.setValue(100); //Numberpicker
Cursor cursor = (Cursor) mListView.getItemAtPosition(position);
String 1 = cursor.getString(cursor.getColumnIndexOrThrow("1"));
String 2 = cursor.getString(cursor.getColumnIndexOrThrow("2"));
String 3 = cursor.getString(cursor.getColumnIndexOrThrow("3"));
String 4 = cursor.getString(cursor.getColumnIndexOrThrow("4"));
String 5 = cursor.getString(cursor.getColumnIndexOrThrow("5"));
String 6 = cursor.getString(cursor.getColumnIndexOrThrow("6"));
String 7 = cursor.getString(cursor.getColumnIndexOrThrow("7"));
String 8 = cursor.getString(cursor.getColumnIndexOrThrow("8"));
RelativeLayout customerLayout = (RelativeLayout) findViewById(R.id.custominfoLayout);
if (customerLayout == null) {
// Inflate the Customer Information View
RelativeLayout leftLayout = (RelativeLayout) findViewById(R.id.rightLayout);
View customerInfo = getLayoutInflater().inflate(
R.layout.custominfo, leftLayout, false);
leftLayout.addView(customerInfo);
}
Tv1 = (TextView) findViewById(R.id.info_i);
Tv2 = (TextView) findViewById(R.id.info_a);
Tv3 = (TextView) findViewById(R.id.info_k);
Tv4 = (TextView) findViewById(R.id.info_B);
Tv5 = (TextView) findViewById(R.id.info_k);
Tv6 = (TextView) findViewById(R.id.info_k2);
Tv7 = (TextView) findViewById(R.id.info_P);
Tv8 = (TextView) findViewById(R.id.info_F);
Tv1.setText(1);
Tv2.setText(2);
Tv3.setText(3);
Tv4.setText(4);
Tv5.setText(5);
Tv6.setText(6);
Tv7.setText(7);
Tv8.setText(8);
searchView.setQuery("", true);
여기까지는 효과가 있습니다. 내가 찾는 것은 보여진다.
10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : 치명적인 예외 : 10 주
내가 BigDecimal의의 값을 저장하려면
,이 오류 메시지가 -05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : 프로세스 : com.XXX.XXXX, PID : 28053 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : java.lang.NumberFormatException : Invalid long : "0,3" 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : java.lang.invalidLong (Long.java:124) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : java.lang.Long.parse (Long.java:361) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : (Long.java:318) 에서 10/15 17:58:51:759 : E/AndroidRuntime (28053) : java.lang.Long.parseLong에서 (Long.java:352) 10-05 17 : 58 : 51.759 : 05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : java.math.BigDecimal에서 (BigDecimal.java:344) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : java.math. BigDecimal를 (BigDecimal.java:425) 10-05 17 :. 58 : E/AndroidRuntime (28053) : com.XXX.XXXX.ListeActivity $ 1.onItemClick (ListeActivity.java:288)에서10 51.759 05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : android.widget.AdapterView.performItemClick (AdapterView.java:299) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : android.widget .AbsListView.performItemClick (AbsListView.java:1113) 10-05 17 : 58 : 51.759 : E/AndroidR (28053) : android.widget.AbsListView $ PerformClick.run (AbsListView.java:2911) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : android.widget.AbsListView $ 3.run (AbsListView .java : 3645) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : android.os.Handler.handleCallback (Handler.java:733) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : android.os.Handler.dispatchMessage (Handler.java:95) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : android.os.Looper.loop (Looper.java:136)) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : android.app.ActivityThread.main (ActivityThread.java:5001) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : (네이티브 메소드) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : java.lang.reflect.Method.invoke (Method.java : java.lang.reflect.Method.invokeNative) 515) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:785) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : com.android.internal.os.ZygoteInit.main (ZygoteInit.java:601) 10-05 17 : 58 : 51.759 : E/AndroidRuntime (28053) : dalvik.system.NativeStart. 주 (기본 방법)
는 계속 내 :이 오류가 온다 왜 이해가 안
Sa = String.valueOf(Tv1.getText());
Sb = String.valueOf(Tv2.getText());
Sc = String.valueOf(Tv3.getText());
Sd = String.valueOf(Tv4.getText());
Se = String.valueOf(Tv5.getText());
Sf = String.valueOf(Tv6.getText());
Sg = String.valueOf(Tv7.getText());
Big1 = new BigDecimal(Sa);
Big2 = new BigDecimal(Sb);
Big3 = new BigDecimal(Sc);
Big4 = new BigDecimal(Sd);
Big5 = new BigDecimal(Se);
Big6 = new BigDecimal(Sf);
Big7 = new BigDecimal(Sg);
.
String 및 BigDecimal에서만 작동하지만 오류는 float입니다.
완전한 스택 추적을 보여주십시오. (변수를 더 의미있는 이름으로 지정하는 것도 좋지만 다른 문제입니다.) –