我正在创建一个应用程序,它接受一个字符串并将其分成单词并重新打印它们,同时检查单词前面是否有“#”。如果有'#',则该单词的颜色会发生变化。我遇到的问题是如果原始字符串太长,String会被删除。 有什么帮助吗?
public class MainActivity extends Activity {
String[] parts;
LinearLayout.LayoutParams layoutParams ;
int size;
LinearLayout L;
String s ="This is the test String that is divided #Testing ";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
L=(LinearLayout)findViewById(R.id.ll);
layoutParams= new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
parts = s.split(" ");
size = parts.length;
for(int i=0; i<size;i++)
{
TextView valueTV = new TextView(this);
String d= parts[i] + " ";
valueTV.setText(d);
// valueTV.setLayoutParams(layoutParams);
if(d.charAt(0)=='#')
{
valueTV.setTextColor(Color.CYAN);
}
L.addView(valueTV,layoutParams);
}
}
}
答案 0 :(得分:0)
这是因为你有线性布局 它需要水平方向。
它会在您的手机边缘显示文字视图,之后您的数据将无法显示。
如果textView的宽度超出显示宽度,您需要检查设备显示宽度并手动添加另一个布局。
请参阅此link
它可以帮助您解决问题。