如何在对话框中换行文本

How to wrap text in Dialog

我试图将文本换行到对话框中,但找不到方法。我试过 \n 但它不起作用。

我哪里错了? 提前感谢您的回答。 卢卡

谢谢马里奥桑蒂尼。 这是代码:

// costruttore 
public Luogo(String libro,String id,String nome,String indirizzo,String lat,String lng,String testo,String pagina,String icona){

    this.ID = Integer.parseInt(id.substring(1, id.length()-2)); 
    this.nome=nome.substring(1, nome.length()-2);
    this.indirizzo=indirizzo.substring(1, indirizzo.length()-2);
    this.lat=Double.parseDouble(lat.substring(1, lat.length()-2));
    this.lng=Double.parseDouble(lng.substring(1, lng.length()-2));
    this.testo=testo.substring(1, testo.length()-2);
    this.libro=libro;
    this.pagina=Integer.parseInt(pagina.substring(1, pagina.length()-2));
    this.icona=icona.substring(1, icona.length()-2);    
} 

public void aggiungiLuogoMappa(MapContainer map){
    Luogo lg = this;
    Coord coord=new Coord(this.lat,this.lng);
    EncodedImage icon;

    try {
        icon =EncodedImage.create("/" + this.icona);    
    } catch (IOException ex) {
        //nel caso di errore aggiungo il marker standard
        Style st = new Style();
        st.setFgColor(0xff0000);
        st.setBgTransparency(0);

        FontImage markerImg = FontImage.createMaterial(FontImage.MATERIAL_PLACE, st, Display.getInstance().convertToPixels(1)); 
        icon =EncodedImage.createFromImage(markerImg, false);
    }
    map.addMarker(icon, coord,this.nome + " - " + this.indirizzo, null, new ActionListener() {
                    public void actionPerformed(ActionEvent evt) {
                        Dialog.show(lg.nome, lg.testo + "\n (da: " + lg.libro + ", pag." + lg.pagina + ")", "Chiudi",null);}
    });
}

}

如果我将它放在代码中(见最后一行),\n 效果很好,但我也希望 lg.testo 可以在我需要的地方包装。 lg.testo 来自 xml 文件,如下所示:

最后的结果是这样的:

感谢 Shai Almog 的评论,我解决了。 那是相关代码:

Dialog.show(lg.nome, StringUtil.replaceAll(lg.testo,"\n","\n") + "\n (da: " + lg.libro + ", pag." + lg.pagina + ")", "Chiudi",null);}

它工作正常,我可以根据需要换行 XML 文件中的文本。

再见 卢卡