在我的应用中,我需要从这个网站上提取文字。 http://www.cellphonesolutions.net/help-en-lite
注意它是一个非常大的文件。当我尝试拉文本时,它没有得到文本的前半部分。 textview可以容纳的字符数量是否有限制?如果是这样,我该如何解决这个问题。这是我用来收集文本的代码。
//在oncreate方法中
TextView faq = (TextView) findViewById(R.id.tvfaq);
faq.setText((Html.fromHtml(
cleanhtml(getText("http://www.cellphonesolutions.net/help-en-lite)
)));
这清除了Html.fromHtml没有过滤掉的评论
public String cleanhtml(String original) {
String finalText = original.replaceAll("<![^>]*>", "");
return finalText;
}
这就是我从网站上获取文字的方式
public String getText(String uri) {
HttpClient client1 = new DefaultHttpClient();
HttpGet request = new HttpGet(uri);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
try {
String response_str = client1.execute(request, responseHandler);
return response_str;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
这是我的xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:background="@drawable/splash_fade"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:layout_gravity="center" android:text="TextView" android:gravity="center"
android:id="@+id/tvfaq" android:layout_width="wrap_content" android:textColor="#000000"
android:layout_height="wrap_content"></TextView>
</ScrollView>
</LinearLayout>
答案 0 :(得分:4)
尝试删除ScrollView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:background="@drawable/splash_fade"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_gravity="center" android:text="TextView" android:gravity="center"
android:id="@+id/tvfaq" android:layout_width="wrap_content" android:textColor="#000000"
android:layout_height="wrap_content"></TextView>
</LinearLayout>
TextView有一个实现的滚动条,可以通过滚动视图完成您的预期。
更新
您需要将其应用于textView faq.setMovementMethod(new ScrollingMovementMethod());
如果这不起作用,请尝试调试您的应用程序,看看response_str是否包含网站上的所有字符
答案 1 :(得分:1)
您的TextView是否包裹在ScrollView中。本质上TextView没有滚动功能,因此溢出的文本将从显示中剪切掉。
为了防止这种使用,请在文本视图中包装ScrollView,类似于xml
<ScrollView android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<TextView
android:layout_height="wrap_content"
android:id="@+id/TextView01"
android:layout_width="fill_parent"
/>
</ScrollView>
答案 2 :(得分:0)
我也遇到了这个错误。我发现任意paddingBottom值可以修复它 - 但我讨厌这个解决方案。
我确信它是android中的一个错误。