簡體   English   中英

如何從此類列表創建和調用元素?

[英]How to create and call elements from this type of list?

我真的是android世界的新手,此刻我正在使用Sketchware簡化流程並在需要時使用自定義代碼。

歡迎所有提示,如果您有相關信息以及我可以閱讀的來源,那就太好了!

因此,我要做的是制作一個簡單的應用程序,其中包含一個文本編輯器,一個文本視圖和一個按鈕。 那沒問題。 但是我很想做一個列表或數據結構,以保存挪威的所有郵政編碼以及它們所屬的區域。 因此,當我在文本編輯器中輸入0653並按下按鈕時,它將在文本視圖中顯示“ Oslo”。 用於7500“特隆赫姆”等

我真的不能在這里放置任何代碼,但是我現在嘗試的是在地圖postnr中將鍵Oslo值0653插入1(如果有任何意義)。 通過這種方式,我將不得不添加9999代碼,這將花費很長時間,更不用說創建時的加載時間了。

嗯,據我所知,您想將數據放入地圖列表中,然后遍歷列表。 對?? 現在的問題是如何將數據插入該列表。 如果您在excel工作表中保存了數據(postalCode和位置),則可以編寫一個Java代碼來讀取文件並將其插入到地圖列表中。 這是一個讀取具有以下鍵值的xlsx文件的代碼-

奧斯陸6053

波士頓1841

package com.vibbs.demo;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelReadDemo {

public static void readXLSFile(Map<String, String> mapByPostCode , Map<String, String> mapByPostValue) throws IOException, EncryptedDocumentException, InvalidFormatException
{
    InputStream ExcelFileToRead = new FileInputStream("/pathtoFile/postalDemo.xlsx");
    XSSFWorkbook workbook = new XSSFWorkbook(ExcelFileToRead);
    Sheet worksheet = workbook.getSheetAt(0);
    Iterator<Row> rows = worksheet.rowIterator();

    Cell postalCodeCell = null;
    Cell postalValueCell = null;
    while(rows.hasNext()) {
        Row row = (Row) rows.next();
        postalValueCell  = row.getCell(0);
        postalCodeCell = row.getCell(1);

        postalValueCell.setCellType(Cell.CELL_TYPE_STRING);
        postalCodeCell.setCellType(Cell.CELL_TYPE_STRING);

        String postalValue = postalValueCell.getStringCellValue();
        String postalCode = postalCodeCell.getStringCellValue();
        mapByPostCode.put(postalCode, postalValue);
        mapByPostValue.put(postalValue, postalCode);
    }
}

public static void main(String[] args) throws EncryptedDocumentException, InvalidFormatException, IOException {
    //1841 BOSTON , 6053
    Map<String, String> mapByPostCode = new HashMap<String, String>();
    Map<String, String> mapByPostValue = new HashMap<String, String>();

    ExcelReadDemo.readXLSFile(mapByPostCode , mapByPostValue);

    System.out.println(mapByPostCode.get("1841")); // If u provide postcode it will give you place
    System.out.println(mapByPostValue.get("BOSTON")); // If u provide place it will give you postCode
}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM