拆分文本,在textview中使文本视图为false

时间:2013-01-08 17:01:15

标签: android android-layout

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

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

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张图片中,我在输入文本文件中附加有和没有辅助字的输出。

用辅助词输出:

output with auxiliary words:

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

output without auxiliary words

朋友有什么问题? 感谢

1 个答案:

答案 0 :(得分:1)

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

如果你有字符串A,B,C就可以使用{{输出将是一个子串数组,即[A,B,C]。
但是如果你可以使用相同的分隔符,那么这对你的情况很有用,即L1和L2将是相同的。

第二:您可以在myString.split(,)的{​​{1}}中使用android:gravity="right"。这将解决字符串向左对齐的问题。