Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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
Java 类android类别、子类别中的xml解析列表视图_Java_Android_Android Listview - Fatal编程技术网

Java 类android类别、子类别中的xml解析列表视图

Java 类android类别、子类别中的xml解析列表视图,java,android,android-listview,Java,Android,Android Listview,我必须使用xml解析开发android listview 我正在从mysql服务器获取xml提要。该产品被添加到日常活动中 这里我需要3种列表视图: 1st view: Category 2nd view: SubCategory 3rd view: Product 在fistview中,必须单独显示Categoryname 从我的xml提要第1个视图必须显示 类别名称单独 在第二视图中: 必须显示属于Categoryname的子类别名称 在第三个视图中: 必须显示产品名称和价格属于

我必须使用xml解析开发android listview

我正在从mysql服务器获取xml提要。该产品被添加到日常活动中

这里我需要3种列表视图:

1st view:   Category
2nd view:  SubCategory
3rd view:   Product
在fistview中,必须单独显示Categoryname

从我的xml提要第1个视图必须显示

类别名称单独

在第二视图中:

必须显示属于Categoryname的子类别名称

在第三个视图中:

必须显示产品名称和价格属于子类别名称

这是我的第一个查看代码:

public class MainActivity extends Activity {
static final String URL =http://api1.sfsfsfsf.com/dev/categories/?fields=&categoryid=3&access_token=bfb787a6e

        static String KEY_CATEGORY = "category";

       static final String KEY_TITLE = "categoryName";
        static final String KEY_SUBCATE = "categoryId";

 ListView lview3;
 LazyAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();
    XMLParser parser = new XMLParser();
        String xml = parser.getXmlFromUrl(URL); // getting XML from URL
        Document doc = parser.getDomElement(xml); // getting DOM element

        NodeList nl = doc.getElementsByTagName(KEY_CATEGORY);

        // looping through all song nodes &lt;song&gt;
        for (int i = 0; i < nl.getLength(); i++) {
            // creating new HashMap
            HashMap<String, String> map = new HashMap<String, String>   ();
            Element e = (Element) nl.item(i);


            map.put(KEY_TITLE, parser.getValue(e, KEY_TITLE));
           map.put(KEY_SUBCATE, parser.getValue(e, KEY_SUBCATE));             
        songsList.add(map);
        }
    lview3 = (ListView) findViewById(R.id.listView1);
    adapter = new LazyAdapter(this, songsList);
    lview3.setAdapter(adapter);

    lview3.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
           HashMap<String, String> map = songsList.get(position);
            Intent in = new Intent(
                    MainActivity.this,
                     com.example.androidcartxml.SubCate.class);
            in.putExtra(KEY_TITLE, map.get(KEY_TITLE));
            in.putExtra(KEY_SUBCATE, map.get(KEY_SUBCATE));
               }  


     });

    }

         }
       public class SubCate extends Activity {
         String mTitle;

         static final String URL = "http://api1.sfsfsff.com/dev/categories/?fields=&categoryid="+mTitle+"&access_token=bfb787a6e11";
            static String KEY_CATEGORY = "category";

              static final String KEY_TITLE = "categoryName";
             static final String KEY_NAME ="categoryId";
             static final String KEY_SUBCATE = "categoryId";
 ListView lview3;
 ListViewCustomAdapter adapter;
 @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.subcate);
    Bundle b = getIntent().getExtras();
    //String s= getIntent().getStringExtra("orderid");
    mTitle = b.getString(KEY_SUBCATE);
    TextView grandtotal = (TextView) findViewById(R.id.subcate);
    grandtotal.setText("Welcome ," + mTitle );
    final ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();

   // String key = getIntent().getStringExtra(KEY_TITLE);

        XMLParser parser = new XMLParser();
        String xml = parser.getXmlFromUrl(URL); // getting XML from URL
        Document doc = parser.getDomElement(xml); // getting DOM element

        NodeList nl = doc.getElementsByTagName(KEY_CATEGORY);

        // looping through all song nodes &lt;song&gt;
        for (int i = 0; i < nl.getLength(); i++) {
            // creating new HashMap
            HashMap<String, String> map = new HashMap<String, String>();
            Element e = (Element) nl.item(i);
            // adding each child node to HashMap key =&gt; value

            map.put(KEY_TITLE, parser.getValue(e, KEY_TITLE));
            map.put(KEY_NAME, parser.getValue(e, KEY_NAME));
            songsList.add(map);
        }
    lview3 = (ListView) findViewById(R.id.listView1);
    adapter = new ListViewCustomAdapter(this, songsList);
    lview3.setAdapter(adapter);

    lview3.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            HashMap<String, String> map = songsList.get(position);
            Intent in = new Intent(
                    SubCate.this,
                     com.example.androidcartxml.Catalogue.class);

            in.putExtra(KEY_TITLE, map.get(KEY_TITLE));
            in.putExtra(KEY_NAME, map.get(KEY_NAME));
        //  in.putExtra(KEY_THUMB_URL, map.get(KEY_THUMB_URL));
            //in.putExtra(KEY_PRICE, map.get(KEY_PRICE));
            startActivity(in);
        }  

     });
我必须在我的链接上调用这些mTitle值,这意味着它不显示在子类别列表上。请帮助我

[http://api1.sfsfsff.com/dev/categories/?fields=&categoryid=“+mTitle+”&access_token=bfb787a6][2]

我的代码有什么问题。如何将该类别ID调用到我的url。请为我提供解决方案

编辑:

这是我的网址:

[http://api1.sfsfsfsf.com/dev/categories/?fields=&categoryid=10&access_token=bfb787a6e][3]

我已经直接提到categoryid=10意味着所有产品都失效

但我必须更改此url,如下所示:

[http://api1.sfsfsf.com/dev/categories/?fields=&categoryid=“+mTitle+”&access_token=bfb787a6e17][4]

Nw我更改了我的url,如categoryid=“+mTitle+”表示未显示所有产品

mTitle值是从我以前的活动中获取的

我的代码有什么问题

我的mTitle值是10。我必须像means一样编写代码

grandtotal.setText(“欢迎,”+mTitle)

成功显示其mTitle值


grandtotal.setText(“欢迎,”+URL)意味着给了我空值

我建议使用sax解析器而不是dom解析器

这个链接对你很有帮助。

这里我先调用了URL,然后只声明了mTitle值。这就是我在这里遇到问题的原因

现在我得到了解决方案:

我先声明了mTitle,然后才调用下面的URL

 mTitle = b.getString(KEY_SUBCATE);

 URL = "http://api1.sfsfsffsf.com/dev/categories/?fields=&categoryid=" + mTitle +       "&access_token=bfb787a";

在第二个视图中获取与第一个视图相同的Listviewview@DipakKeshariya在第二个视图中:我必须在第一个视图中单击“书本”表示我必须在第二个视图的Internet软件上显示下一个活动,或者我必须在第一个视图中单击“CD DVD视频”表示我必须在第二个视图中也要显示,但我必须运行应用程序并单击“书本”表示我已获取所有内容第二视图上显示的子类别。CD DVD Audio我已经向您发送了有关此问题的源代码。请检查我的更新答案并回复我,这对您是否有帮助。@user1897014抱歉,亲爱的,我在这里只提到如何使用sax解析器读取xml响应。现在您更改了要求。好的,谢谢您的反馈。但我建议您,如何在单独列表中显示iin是您的挑战。再次感谢您的反馈。请在android ListViews中为我提供解析示例抱歉,亲爱的,可能会延迟,但这里是您解决问题的代码。现在只有我得到了明确的要求。请阅读我更新的问题,并为我提供解决方案。对不起,亲爱的,我在这里只提到了如何使用sax解析器读取xml响应。现在您更改了您的要求。好的,谢谢您的反馈。但在这里,我建议您,如何在单独的列表中显示iin是您的挑战。再次感谢您的反馈。。
 mTitle = b.getString(KEY_SUBCATE);

 URL = "http://api1.sfsfsffsf.com/dev/categories/?fields=&categoryid=" + mTitle +       "&access_token=bfb787a";