在“警报”对话框中显示多行文本

时间:2011-12-14 20:33:54

标签: android text android-alertdialog

我需要在警报对话框中显示多行消息,而不仅仅是一个段落。

new AlertDialog.Builder(this)
.setTitle("Place")
.setMessage("Go there" +
        "Go here")
.setNeutralButton("Go Back", null)
.show();

有没有办法从新线开始?就像在Microsoft Word中的句子后输入?

4 个答案:

答案 0 :(得分:13)

对此没有任何保证,但通常会做多行,例如:

.setMessage("Go there\nGo here");

“\ n”是一个转义字符,意思是“新行”我不知道你的具体情况,但你可以在几乎所有的AFAIK中使用它。

答案 1 :(得分:4)

在字符串中使用“\ n”标记:

new AlertDialog.Builder(this)
    .setTitle("Place")
    .setMessage("Go there" + "\n" +
            "Go here")
    .setNeutralButton("Go Back", null)
    .show();

答案 2 :(得分:0)

您是否尝试过回车符或换行符?它们分别是字符10和13(特殊字符\ n和\ r,或\ u000a和\ u000d)

答案 3 :(得分:0)

我认为最好的解决方案是避免断行并使用自定义视图组件。

describe("Basic promise test", () => {
    it("should trigger .then function", () => {
        var mock = jasmine.createSpy('some method');
        var promise = new Promise((resolve, reject)=> {
            console.log("inside Promise");
            resolve('something');
            console.log("done!");
        });
        promise.then(mock);         
        promise.then(function () {   //neither works!
            mock();
            console.log("resolved"); //code does reach here but only after test fails
        });

        expect(mock).toHaveBeenCalled();
    });
});

使用此解决方案,如果您想使用AlertDialog.Builder builder = new AlertDialog.Builder(this); TextView tw =new TextView(this); tw.setMaxLines(10); tw.setPadding(3,3,3,3); tw.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); tw.setSingleLine(false); tw.setText("ver long messagge \n with break line \n"); builder.setView(tw); ,则可以中断该行,但如果您不这样做,则文本将包含在多行上(因为我设置了\n)。< / p>