Android 解析字符串并将所有数据库值打印到textview
我正在尝试根据输入到Android 解析字符串并将所有数据库值打印到textview,android,xml,textview,Android,Xml,Textview,我正在尝试根据输入到SQLite数据库的值为我的android应用程序的文本上色。我已经设置了3个文本视图,并为所有这些设置了不同的文本颜色 代码如下所示 String arr[] = data.split("..\n\n"); for(int i = 0; i < arr.length; i++) { System.out.println("arr["+i+"] = " + arr[i].trim()); if(arr[i].contains("High Severit
SQLite
数据库的值为我的android应用程序的文本上色。我已经设置了3个文本视图
,并为所有这些设置了不同的文本颜色
代码如下所示
String arr[] = data.split("..\n\n");
for(int i = 0; i < arr.length; i++)
{
System.out.println("arr["+i+"] = " + arr[i].trim());
if(arr[i].contains("High Severity"))
{
// String highArr = arr[i];
textView.setVisibility(View.VISIBLE);
textView.setText(highArr+"\n");
textView.setTextColor(Color.RED);
}
else if(arr[i].contains("Low Severity"))
{
textView3.setVisibility(View.VISIBLE);
textView3.setText(arr[i]+"\n");
textView3.setTextColor(Color.GREEN);
}
else if(arr[i].contains("Medium Severity"))
{
textView2.setVisibility(View.VISIBLE);
textView2.setText(arr[i]+"\n");
textView2.setTextColor(Color.rgb(255, 136, 0));
}
}
String arr[]=data.split(“..\n\n”);
对于(int i=0;i
我已经解析了包含数据库表所有值的字符串,但是当我尝试for循环时,它只打印出最新输入的值 看起来您的arr[]可能只有一个条目。您应该使用调试器查看循环实际运行的次数以及数组的实际长度 编辑:
我刚意识到你只有三个文本视图。当然,textview显示的是最后一个,因为每次调用settext方法都会重置文本。有几种方法可以做你正在尝试的事情,但我不确定你的应用程序是如何设置的。您应该尝试动态创建textview,将文本设置为它,然后将该textview添加到已设置的linearlayout或relativelayout中。或者,您也可以在listview中使用baseadapter或任何其他适配器的自定义实现来完成此操作,具体取决于您的需要。我会这样更改代码:
String arr[] = data.split("..\n\n");
String Hseverity = "", Mseverity = "", Lseverity = "";
for(int i = 0; i < arr.length; i++)
{
System.out.println("arr["+i+"] = " + arr[i].trim());
if(arr[i].contains("High Severity"))
{
// String highArr = arr[i];
textView.setVisibility(View.VISIBLE);
Hseverity += arr[i] +"\n";
textView.setText(Hseverity);//do this to save each High Severity entry
//same for the other severity levels
textView.setTextColor(Color.RED);
}
else if(arr[i].contains("Low Severity"))
{
textView3.setVisibility(View.VISIBLE);
Lseverity += arr[i]+"\n";
textView3.setText(Lseverity);
textView3.setTextColor(Color.GREEN);
}
else if(arr[i].contains("Medium Severity"))
{
textView2.setVisibility(View.VISIBLE);
Mseverity += arr[i] + "\n";
textView2.setText(Mseverity);
textView2.setTextColor(Color.rgb(255, 136, 0));
}
}
String arr[]=data.split(“..\n\n”);
字符串Hseverity=“”,Mseverity=“”,Lseverity=“”;
对于(int i=0;i
从logcat中,我看到arr[]确实保存了我数据库的所有值,但只有最近的值被打印到屏幕上。。。logcat最多显示[13]个值。请尝试将arr[i]处的字符串值设置为临时变量,以便进行调试并查看其实际值。这可能是你和一个你没有的值的比较。非常感谢,我现在就从列表视图开始!