我需要使用sax解析器在android上获取多个按钮名称并将其保存在文件中,在某些情况下,如果我做了任何应该设置(加载)到按钮文本的更改。 Forexample:
Button1文字是:生活是美好的; Button2文字是:生活不好
“Button1,生活是美好的; Button2,生活不好”应保存在log.txt中。 如果我在log.txt文件中做任何更改(可能更新):“Button1,生活相当好; Button2,生活不好”,比
Button1文字是:生活相当不错; Button2的文字是:生活不受欢迎
所以,我怎么能让它有效呢,谢谢。
答案 0 :(得分:0)
有一种更简单的方法:您可以使用字符串资源。 String Resources | Android Developers
<resources>
<string name="life_is_x">Life is %s</string>
<string name="good">good</string>
<string name="not_good">not good</string>
<string name="quite_good">quite good</string>
</resources>
在您的布局XML中,您不需要在按钮上放置属性android:text
的值(尽管如果指定tools:text
,该值将显示在Android Studio图形布局设计器中仅适用于您的应用,而不适用于设计。)
然后在你的代码中:
Context context = button.getContext();
String lifeStr;
switch (lifeEnum) {
case GOOD:
lifeStr = context.getString(R.string.good);
break;
case NOT_GOOD:
lifeStr = context.getString(R.string.not_good);
break;
case QUITE_GOOD:
lifeStr = context.getString(R.string.quite_good);
break;
}
String title = context.getString(R.string.life_is_x, lifeStr);
// lifeStr will replace the %s placeholder in life_is_x
button.setText(title);
答案 1 :(得分:0)
我用jdom解析器解决了我的问题,实际上我使用过这个网站:http://www.tutorialspoint.com/java_xml/java_jdom_parse_document.htm 此链接也用于创建xml文件:http://www.tutorialspoint.com/java_xml/java_dom_create_document.htm。谢谢你给我的想法。我建议任何想在本地Android设备上玩xml操作的人都应该看看http://www.tutorialspoint.com/java_xml/。你可以找到任何类型的xml例子..
<?xml version="1.0"?>
<class>
<student rollno="393">
<firstname>dinkar</firstname>
<lastname>kad</lastname>
<nickname>dinkar</nickname>
<marks>85</marks>
</student>
<student rollno="493">
<firstname>Vaneet</firstname>
<lastname>Gupta</lastname>
<nickname>vinni</nickname>
<marks>95</marks>
</student>
<student rollno="593">
<firstname>jasvir</firstname>
<lastname>singn</lastname>
<nickname>jazz</nickname>
<marks>90</marks>
</student>
</class>
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.jdom2.Attribute;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
public class JDomParserDemo {
public static void main(String[] args) {
try {
File inputFile = new File("input.txt");
SAXBuilder saxBuilder = new SAXBuilder();
Document document = saxBuilder.build(inputFile);
System.out.println("Root element :"
+ document.getRootElement().getName());
Element classElement = document.getRootElement();
List<Element> studentList = classElement.getChildren();
System.out.println("----------------------------");
for (int temp = 0; temp < studentList.size(); temp++) {
Element student = studentList.get(temp);
System.out.println("\nCurrent Element :"
+ student.getName());
Attribute attribute = student.getAttribute("rollno");
System.out.println("Student roll no : "
+ attribute.getValue() );
System.out.println("First Name : " + student.getChild("firstname").getText());
System.out.println("Last Name : "+ student.getChild("lastname").getText());
System.out.println("Nick Name : "+ student.getChild("nickname").getText());
System.out.println("Marks : "+ student.getChild("marks").getText());
}
}catch(JDOMException e){
e.printStackTrace();
}catch(IOException ioe){
ioe.printStackTrace();
}
}
}