使用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