使用Android(Eclipse)我正在嘗試讀取.csv文件並動態地使用掃描儀填充微調器 。嘗試了許多方法,結果相同。 模擬器顯示微調,但只填寫最後一個逗號和價格。還需要 將所有三個變量存儲在數組中,並在爲了填充EditText字段而進行微調器選擇 時對其進行回收。任何幫助將不勝感激...使用掃描器從CSV文件填充微調器
數據文件記錄:
4,鋁罐,0.55 5,車輛用cat變換器,9.00 18,黃銅(倒反紅色/黃色),. 20 1001 扣除客戶#查找,-2.00
的Java:
public class BRprogramActivity extends Activity {
private static final String TAG = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//
Button addButton;
Button editButton;
Button sendButton;
//
Spinner array_spinner;
//
// activate soft Keyboard
this.getWindow().setSoftInputMode
(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
//
// .csv comma separated values file
//
try {
Scanner scanner = new Scanner(getResources().openRawResource(R.raw.brdata));
//
while (scanner.hasNext()) {
String data = (scanner.next());
String [] values = data.split(",");
item = values[0];
description = values[1];
price = values[2];
//
array_spinner = (Spinner)findViewById(R.id.spinner1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>
(this,android.R.layout.simple_spinner_item,values);
array_spinner.setAdapter(adapter);
}
scanner.close();
} catch (Exception e) {
Log.e(TAG, "Exception: "+Log.getStackTraceString(e));
}
//
addButton = (Button) findViewById(R.id.addbutton);
addButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Log.v("test", "ADD button clicked");
}
});
//
editButton = (Button) findViewById(R.id.editbutton);
editButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Log.v("test", "EDIT button clicked");
}
});
//
sendButton = (Button) findViewById(R.id.sendbutton);
sendButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Log.v("test", "SEND button clicked");
}
});
}
}
修改後的代碼的建議和表示的logcat上陣列,java.Lang.ArrayIndexOutOfBoundsException異常錯誤:長度= 2,索引= 2。樣品記錄s/b 4,鋁罐,.55。 – John 2012-07-06 21:21:17
也沒有數據填充Spinner – John 2012-07-06 21:27:08
@John我更新了我的答案。 – Sam 2012-07-06 23:22:13