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 16:50:17 浏览: 29
看起来你的问题是在代码中调用 `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>` 类型的数据了。
相关问题
findViewById(R.id.button_c).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } });实现计算器清零操作
在 `onClick` 方法中,获取到计算器显示结果的 `TextView`,将其文本设置为 0 即可实现清零操作:
```java
findViewById(R.id.button_c).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView resultTextView = findViewById(R.id.result_text_view);
resultTextView.setText("0");
}
});
```
其中,`result_text_view` 是你的计算器界面中显示结果的 `TextView` 的 ID。
nowselect.setText(nowselectdata+"全部订单"); load(-1); selectAllorder.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { nowselect.setText(nowselectdata+"全部订单"); load(-1); } }); selectpredict.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { nowselect.setText(nowselectdata+"预购订单"); load(2); } }); selectshipped.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { nowselect.setText(nowselectdata+"已发货订单"); load(3); } }); return root;
这段代码看起来像是一个订单列表的筛选器的实现。它主要的功能是为订单列表添加一个可以根据订单状态进行筛选的功能。具体来说,它首先为三个按钮(selectAllorder、selectpredict 和 selectshipped)设置了点击事件监听器,当用户点击相应的按钮时,会根据按钮的状态不同来加载相应的订单列表。当用户点击 selectAllorder 按钮时,它会加载所有的订单列表,当用户点击 selectpredict 按钮时,它会加载预购订单列表,当用户点击 selectshipped 按钮时,它会加载已发货订单列表。在加载列表时,它会根据传入的参数值来进行筛选,并将筛选后的订单列表显示在相应的视图中。最后,它返回根视图对象 root,以便在界面中显示相应的订单列表。