gpt4 book ai didi

java - 在 android 中显示图像和 html 内容的最佳 View

转载 作者:太空宇宙 更新时间:2023-11-03 12:22:24 25 4
gpt4 key购买 nike

*我正在开发一个可以阅读电子邮件的应用程序。我正在使用 textview/edittext 来显示邮件。现在我能够将电子邮件内容作为字符串获取并显示出来。但是哪个是显示带有 html 内容和图像的电子邮件的最佳 View ?请帮帮我。谢谢 :)编辑:我按照 S.O. 的建议使用了 webview。 friend (感谢@Andro Selva,@CFlex)。但是我遇到了一个问题,它显示了两次电子邮件的正文! :(一次作为文本/纯文本,再次作为文本/html。 its a screeshot of webview loaded with email message when a blank mail is sent我尝试了以下代码来加载 webview。

webViewBody.loadData(details[3], "text/html", "UTF-8");
//webViewBody.loadDataWithBaseURL(null, details[3] , "text/html", "utf-8", null);

这里的details[3]是邮件内容。我在这里错过了什么!? :( 请帮助我。

编辑:我添加了用于获取消息内容以在下方显示电子邮件内容的代码。

    public void getContent(Message msg)
{
try
{
Object o = msg.getContent();
if (o instanceof String)
{
if(((String) o).equalsIgnoreCase(""))
{
}
else
{
messageBody = (String)o+"STRING!!";
}
}
else if (o instanceof Multipart)
{
Multipart mp = (Multipart)o;
int count3 = mp.getCount();
for (int j = 0; j < count3-1; j++)
{
// Part are numbered starting at 0
BodyPart b = mp.getBodyPart(j);
Object o2 = b.getContent();
if (o2 instanceof String)
{
if(((String) o).equalsIgnoreCase(""))
{
}
else
{
messageBody = (String)o2+"MULTIPART!!";
}
}
} //End of for
}
else if (o instanceof InputStream)
{
//System.out.println("**This is an InputStream message**");
InputStream is = (InputStream)o;
// Assumes character content (not binary images)
//messageBody = convertStreamToString(is)+"INPUT STREAM!!";
int c;
while ((c = is.read()) != -1)
{
messageBody = convertToString(is)+"INPUT STREAM!!";
System.out.println(messageBody);
}
}
}
catch (Exception ex)
{
System.out.println("Exception arise at get Content");
ex.printStackTrace();
}

//TODO TEST CODES
try
{
String contentType = msg.getContentType();
// System.out.println("Content Type : " + contentType);
Multipart mp = (Multipart) msg.getContent();
int count = mp.getCount();
for (int i = 0; i < count; i++)
{
dumpPart(mp.getBodyPart(i));
}
}
catch (Exception ex)
{
System.out.println("Exception arise at get Content");
ex.printStackTrace();
}
}

public String convertToString(InputStream inputStream)
{
StringBuffer string = new StringBuffer();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
try
{
while ((line = reader.readLine()) != null)
{
string.append(line + "\n");
}
}
catch (IOException e)
{
}
return string.toString();
}

控件总是进入“else if (o instanceof InputStream)”条件。因此它始终流式传输电子邮件并显示完整的电子邮件内容。我在这里缺少什么?

最佳答案

我认为您需要实现一个WebView,因为它可以格式化html 显示图像。

据我所知,带有 html 的 textView 可以格式化内容但不能显示图像。

编辑:以下应该有效:

webViewBody.loadData(details[3], "text/html", null);

关于java - 在 android 中显示图像和 html 内容的最佳 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11611757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com