Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在xml文件中动态添加xml元素,该元素应反映在listview中_Android_Xml_Listview - Fatal编程技术网

Android 在xml文件中动态添加xml元素,该元素应反映在listview中

Android 在xml文件中动态添加xml元素,该元素应反映在listview中,android,xml,listview,Android,Xml,Listview,我想在运行时在xml文件中添加带有文本的xml元素xml文件是 最后附加了它在包中的路径 按下somebutton时从edittext获取输入 该输入文本应作为elementItem标记添加到xml文件中 pnrstored.xml文件,其目录为packagename/res/Vlaues/pnrstored.xml <?xml version="1.0" encoding="utf-8" standalone="yes"?> <resources>

我想在运行时在xml文件中添加带有文本的xml元素xml文件是 最后附加了它在包中的路径

按下somebutton时从edittext获取输入

该输入文本应作为elementItem标记添加到xml文件中 pnrstored.xml文件,其目录为packagename/res/Vlaues/pnrstored.xml

 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <resources>
        <string-array name="pnrSaved">
            <item>1234567890</item>

        </string-array>
    </resources>
pnrstored.xml在适配器中使用,实际上是在其中定义的字符串数组

此adpater已附加到listview

listview应首先显示所有最近添加的值以及以前的值 仅显示必需的代码

我的问题..是以下代码正在更改pnrstored文件..如果在初始化StreamResult时目录中出现错误,请首先检查

 public class Pnr extends Activity implements OnClickListener{

        ArrayAdapter<CharSequence> adapter;
        ListView lvSavedPNR;
         EditText etPNR;

        /* (non-Javadoc)
         * @see android.app.Activity#onCreate(android.os.Bundle)
         */
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub

             adapter = ArrayAdapter.createFromResource(this, R.array.pnrSaved, android.R.layout.simple_list_item_1);
            // Specify the layout to use when the list of choices appears
            lvSavedPNR.setAdapter(adapter);
                somebutton.onclicklisner;
        }

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub


            String  pnr = etPNR.getEditableText().toString();

                        savePNR(pnr);
                        adapter.notifyDataSetChanged();
            }

        private void savePNR(String pnr2) throws ParserConfigurationException, SAXException, IOException, TransformerException {
            // TODO Auto-generated method stub
                DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
                DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
                Document document = documentBuilder.parse("pnrstored.xml");
                Element root = document.getDocumentElement();

                // Root Element
                Element rootElement = document.getDocumentElement();

                Collection<Item> svr = new ArrayList<Item>();
                svr.add(new Item(pnr));

                for (Item i : svr) {
                    // server elements
                    Element item = document.createElement("Item");
                    item.appendChild(document.createTextNode(i.getName()));
                    rootElement.appendChild(item);
                    root.appendChild(rootElement);

                }

                DOMSource source = new DOMSource(document);

                TransformerFactory transformerFactory = TransformerFactory.newInstance();
                Transformer transformer = transformerFactory.newTransformer();
                StreamResult result = new StreamResult  ( "pnrstored.xml");
                transformer.transform(source, result);
            }
        public static class Item {
            String PNR;
            Item(String x){PNR=x;}
            public String getName() { return PNR; }

        }
packagename/res/Vlaues/pnrstored.xml

 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <resources>
        <string-array name="pnrSaved">
            <item>1234567890</item>

        </string-array>
    </resources>