我在我的android应用程序中使用json,实际上在列表视图中,它在我的文本中也显示了html标签,如何只显示避免html标签的文本
Mainactivity.java
public class MainActivity extends ListActivity implements FetchDataListener
{
private ProgressDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_list_item);
initView();
}
private void initView()
{
// show progress dialog
dialog = ProgressDialog.show(this, "", "Loading...");
String url = "http://floating-wildwood-1154.herokuapp.com/posts.json";
FetchDataTask task = new FetchDataTask(this);
task.execute(url);
}
@Override
public void onFetchComplete(List<Application> data)
{
// dismiss the progress dialog
if ( dialog != null )
dialog.dismiss();
// create new adapter
ApplicationAdapter adapter = new ApplicationAdapter(this, data);
// set the adapter to list
setListAdapter(adapter);
}
@Override
public void onFetchFailure(String msg)
{
// dismiss the progress dialog
if ( dialog != null )
dialog.dismiss();
// show failure message
Toast.makeText(this, msg, Toast.LENGTH_LONG).show();
}
}
Applicationadapter.java
public class ApplicationAdapter extends ArrayAdapter<Application>
{
private List<Application> items;
public ApplicationAdapter(Context context, List<Application> items)
{
super(context, R.layout.app_custom_list, items);
this.items = items;
}
@Override
public int getCount()
{
return items.size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View v = convertView;
if ( v == null )
{
LayoutInflater li = LayoutInflater.from(getContext());
v = li.inflate(R.layout.app_custom_list, null);
}
Application app = items.get(position);
if ( app != null )
{
TextView titleText = (TextView) v.findViewById(R.id.titleTxt);
if ( titleText != null )
titleText.setText(app.getContent());
}
return v;
}
}
在我的列表视图中,它显示如下
您好<br>
frnds我'<br>
“
gudmrng '<br>'
用html标签显示,我只想要文本数据,文本必须显示在我的列表视图中。
答案 0 :(得分:10)
使用Html.fromHtml在TextView.Example
中显示带有html标签的文字 String str_without_html=Html.fromHtml("back to work<br>").toString();
答案 1 :(得分:1)
解决方案通常需要正则表达式 - 这是一种容易出错的方法 - 或安装第三方库,如jsoup或jericho。 Android设备上更好的解决方案就是使用Html.fromHtml()函数:
<强>代码强>
public String stripHtml(String html) {
return Html.fromHtml(html).toString();
}
这使用Android的内置Html解析器来构建输入html的跨越表示,而不使用任何html标记。然后通过将输出转换回字符串来剥离“Span”标记。
答案 2 :(得分:0)
只需删除<br>
代码
url = url.replaceAll("<br>", "");
答案 3 :(得分:0)
你可以使用
String s = value.replaceAll("<br>","");