gpt4 book ai didi

android - 从 xml 中提取信息但不会显示

转载 作者:行者123 更新时间:2023-11-29 02:15:29 26 4
gpt4 key购买 nike

没有任何内容写入 TextView 屏幕。

我不确定我在这里做错了什么,但这是我的以下代码:

<?xml version="1.0"?> 
<news>
<article title="TITLE HERE" link="*.php?showtopic=118" date="DATE HERE"></article>
</news>

Java 代码:

try {
//open an URL connection make GET to the server and
URL url = new URL("http://.../m_news.xml");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();

if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
InputStream is = conn.getInputStream();

//DocumentBuilderFactory, DocumentBuilder are used for
//xml parsing
DocumentBuilderFactory dbf = DocumentBuilderFactory
.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();

//using db (Document Builder) parse xml data and assign
//it to Element
Document document = db.parse(is);
Element element = document.getDocumentElement();

NodeList nodeList = element.getElementsByTagName("news");
NodeList nodeList2 = element.getElementsByTagName("article");

if (nodeList.getLength() > 0) {
for (int i = 0; i < nodeList2.getLength(); i++) {
Element entry = (Element) nodeList.item(0);

Element _rowE = (Element) entry.getElementsByTagName("article").item(i);
Node _rowTITLE = _rowE.getAttributes().getNamedItem("title");
Node _rowLINK = _rowE.getAttributes().getNamedItem("link");

TextView textview = new TextView(this);
textview.setMovementMethod(LinkMovementMethod.getInstance());
String text = "<a href='"+_rowLINK.getNodeValue()+"'>"+_rowTITLE.getNodeValue()+"</a>";
textview.setText(Html.fromHtml(text));
setContentView(textview);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}

最佳答案

您正在实例化 TextView 并用它们中的每一个调用 setContentView()...这永远不会奏效。至少您需要提供一些布局说明(即在每个 TextView 上调用 setLayoutParams),但我什至不确定如果没有某种容器对象,它是否会起作用。

试试这个。创建一个名为 news.xml 的简单布局,其中包含:

<LinearLayout
android:id="@+id/newsItems"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
/>

然后更改您的代码以包含以下内容:

setContentView(R.layout.news);
LinearLayout linearLayout = (LinearLayout)findViewById(R.id.newsItems);
...
for (int i = 0; i < nodeList2.getLength(); i++) {
...
TextView textview = new TextView(this);
textview.setLayoutParams(new LinearLayout.LayoutParams(FILL_PARENT, WRAP_CONTENT));
...
textview.setText(Html.fromHtml(text));
linearLayout.addView(textview);
}

关于android - 从 xml 中提取信息但不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4308084/

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