inventoryButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (isFastClick()) { showLoadToast(); goToMainActivity(); loadExcelFile(); } } private boolean isFastClick() { return ButtonOnCilk.isFastViewClick(inventoryButton, getBaseContext()); } private void showLoadToast() { CustomToast.showLoad(HomeActivity.this, getString(R.string.load)); } private void goToMainActivity() { Intent intent = new Intent(getApplicationContext(), MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); } private void loadExcelFile() { new AsyncTask<Void, Void, List<String>>() { @Override protected List<String> doInBackground(Void... voids) { return readExcelFile(); } @Override protected void onPostExecute(List<String> data) { showDataInListView(data); } }.execute(); } private void showDataInListView(List<String> data) { listView = findViewById(R.id.rv_list); if (listView != null) { ArrayAdapter<String> adapter = new ArrayAdapter<>(HomeActivity.this, android.R.layout.simple_list_item_1, data); listView.setAdapter(adapter); } } });private List<String> readExcelFile() { List<String> datas = new ArrayList<>(); try { FileInputStream inputStream = new FileInputStream("/sdcard/Template/IC1001.xlsx"); Workbook workbook = WorkbookFactory.create(inputStream); Sheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { for (Cell cell : row) { datas.add(cell.toString()); } } workbook.close(); } catch (IOException | InvalidFormatException e) { e.printStackTrace(); } return datas; }报错List<List<String>>��ת��ΪList<String> return readExcelFile();
时间: 2023-11-27 20:50:17 浏览: 70
Android onClick按钮单击事件的四种常用写法
看起来你的问题是在代码中调用 `readExcelFile()` 方法返回了 `List<List<String>>` 类型的数据,但是在调用 `showDataInListView()` 方法时需要传入 `List<String>` 类型的数据,导致类型不匹配。你可以尝试将 `readExcelFile()` 方法返回的数据类型改为 `List<String>`,或者在调用 `showDataInListView()` 方法之前将返回的数据进行转换。例如,你可以修改 `readExcelFile()` 方法中的代码如下:
```
for (Row row : sheet) {
String rowData = "";
for (Cell cell : row) {
rowData += cell.toString() + " ";
}
datas.add(rowData.trim());
}
```
这样返回的就是 `List<String>` 类型的数据了。
阅读全文