0

我有一个文本文件,我想在文本视图的数量中显示它的文本,我在运行时设置它们的文本。

这是我的代码,我用于我的程序:

while(text.length() > 0)
    {
        text = text.trim();
        int index = text.indexOf("L1");
        int index2 = 0;
        temp = "";
        if(index > -1 && index == 0)
        {
            index2 = text.indexOf("/L1");
            temp = text.substring(index + 2, index2);
            temp.trim();
            t = temp.toCharArray();
            text = text.substring(index2 + 3, text.length());
            index = text.indexOf("\r\n");
            while(index > -1 && index == 0)
            {
                temp += "\r\n";
                text = text.substring(index + 2, text.length());
                index = text.indexOf("\r\n");
            }
            temp = String.valueOf(t);
        }
        else
        {
            index = text.indexOf("L2");
            if(index > -1 && index == 0)
            {
                index2 = text.indexOf("/L2");
                temp = text.substring(index + 2, index2);
                text = text.substring(index2 + 3, text.length());
                index = text.indexOf("\r\n");
                while(index > -1 && index == 0)
                {
                    temp += "\r\n";
                    text = text.substring(index + 2, text.length());
                    index = text.indexOf("\r\n");
                }
            }
            else
            {
                index = text.indexOf("List");
                if(index > -1 && index == 0)
                {
                    index2 = text.indexOf("/List");
                    temp = text.substring(index + 4, index2);
                    text = text.substring(index2 + 5, text.length());
                    index = text.indexOf("\r\n");
                    while(index > -1 && index == 0)
                    {
                        temp += "\r\n";
                        text = text.substring(index + 2, text.length());
                        index = text.indexOf("\r\n");
                    }
                }
                else
                {
                    text = text.trim();
                    index = text.indexOf("Plain");
                    if(index > -1 && index == 0)
                    {
                        index2 = text.indexOf("/Plain");
                        temp = text.substring(index + 5, index2);
                        text = text.substring(index2 + 6, text.length());
                        index = text.indexOf("\r\n");
                        while(index > -1 && index == 0)
                        {
                            temp += "\r\n";
                            text = text.substring(index + 2, text.length());
                            index = text.indexOf("\r\n");
                        }
                    }
                }
            }
        }

    }
    for(int i = 0; i < texts.length; i++)
    {
        TextView tv = new TextView(this);
        tv.setText(Farsi.Convert(texts[i]));
        Typeface font = Typeface.createFromAsset(getAssets(), "fonts/naz.ttf");
        tv.setTypeface(font);
        tv.setTextColor(Color.BLACK);
        tv.setGravity(Gravity.RIGHT);
        tv.setPadding(10, 10, 10, 10);
        tv.setLayoutParams(params);
        linearLayout.addView(tv);
    }
    layout.addView(linearLayout);
    LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    this.addContentView(layout, p);
}

由于某些原因,我在文本文件中使用了一些辅助词(例如“L1”和“/L1”),它们会在运行时删除它们。但是,当我运行程序时,在输出中显示在文本视图中的文本不是正确的样式,我想将它对齐到右边,但是在输出中有一些额外的文本,它们不在输入中文本文件。

在下面的 2 个图像中,我在输入文本文件中附加了带有和不带有辅助词的输出。

带有辅助词的输出:

带有辅助词的输出:

没有辅助词的输出,在这种状态下,我使用“setContentView”函数设置布局的内容,并使用辅助词索引读取整个文件而不是拆分文本。在这种状态下,输入不包含辅助词。

输出无助词

有什么问题啦?谢谢

4

1 回答 1

1

首先:
用来String.split()分割你的字符串。

它的工作原理是这样的,如果你有一个字符串 A,B,C 并且你使用myString.split(,)输出将是一个子字符串数组,即 [A,B,C]。
但这在您的情况下很有用,如果您可以使用相同的分隔符,即 L1 和 L2 将相同。

第二:您可以android:gravity="right"textview您的layout.xml. 这将解决字符串左对齐的问题。

于 2013-01-08T17:11:06.873 回答