我有一个文本文件,我希望在文本视图的数量中显示它的文本,我在运行时设置它们的文本。
这是我的代码,我用于我的程序:
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”函数设置布局内容,并使用辅助词索引读取整个文件而不是拆分文本。在此状态下,输入不包含辅助词。
朋友有什么问题? 感谢
答案 0 :(得分:1)
首先:使用String.split()
来分割你的字符串。
如果你有字符串A,B,C就可以使用{{输出将是一个子串数组,即[A,B,C]。
但是如果你可以使用相同的分隔符,那么这对你的情况很有用,即L1和L2将是相同的。
第二:您可以在myString.split(,)
的{{1}}中使用android:gravity="right"
。这将解决字符串向左对齐的问题。