2014-10-09 23 views
0

我的应用程序正在工作,但我面临一个问题。当我点击第一个标题的孩子它的开放谷歌。但是当我点击第二个标题时,Google又开放了!它必须打开雅虎时,我点击第二个标题?我写的,但其工作一个每次:(我怎么能解决这个问题?Expandable onchild方法

public class osym extends Activity { 

ExpandableListAdapter listAdapter; 
ExpandableListView expListView; 
ExpandableListView expListView2; 
List<String> listDataHeader; 
HashMap<String, List<String>> listDataChild; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.expand); 

    // get the listview 
    expListView = (ExpandableListView) findViewById(R.id.lvExp); 
    expListView2 = (ExpandableListView) findViewById(R.id.lvExp); 
    // preparing list data 
    prepareListData(); 

    listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild); 

    // setting list adapter 
    expListView.setAdapter(listAdapter); 

    expListView2.setAdapter(listAdapter); 




    final ArrayList<String> links = new ArrayList<String>();   
    links.add("http://www.google.com"); // i got problem here. 

    final ArrayList<String> links2 = new ArrayList<String>();   
    links2.add("http://www.yahoo.com"); // when i click second list of child.it must open yahoo but it opening google :(? 


    expListView.setOnChildClickListener(new OnChildClickListener() { 

     @Override 
     public boolean onChildClick(ExpandableListView parent, View v, 
       int groupPosition, int childPosition, long id) { 

      if(childPosition == 0) 
      { 

       Intent int0 = new Intent(getApplicationContext(),webplayer.class); 
        int0.putExtra("url", links.get(childPosition)); // send the url here 
        startActivity(int0); 
        finish(); 
      } 
     if(childPosition == 1) 
     { 

      Intent int0 = new Intent(getApplicationContext(),webplayer.class); 
       int0.putExtra("url", links.get(childPosition)); // send the url here 
       startActivity(int0); 
       finish(); 
     } 

     if(childPosition == 2) 
     { 

      Intent int0 = new Intent(getApplicationContext(),webplayer.class); 
       int0.putExtra("url", links.get(childPosition)); // send the url here 
       startActivity(int0); 
       finish(); 
     } 
     if(childPosition == 3) 
     { 

      Intent int0 = new Intent(getApplicationContext(),webplayer.class); 
       int0.putExtra("url", links.get(childPosition)); // send the url here 
       startActivity(int0); 
       finish(); 
     } 
    if(childPosition == 4) 
     { 

      Intent int0 = new Intent(getApplicationContext(),webplayer.class); 
       int0.putExtra("url", links.get(childPosition)); // send the url here 
       startActivity(int0); 
       finish(); 
     } 

    if(childPosition == 5) 
     { 

      Intent int0 = new Intent(getApplicationContext(),webplayer.class); 
       int0.putExtra("url", links.get(childPosition)); // send the url here 
       startActivity(int0); 
       finish(); 
     } 

    return false; 

     } 
    }); 
} 


private void prepareListData() { 
    listDataHeader = new ArrayList<String>(); 
    listDataChild = new HashMap<String, List<String>>(); 

    // Adding child data 
    listDataHeader.add("Geometri Çıkmış Sorular"); 
    listDataHeader.add("Matematik Çıkmış Sorular"); 


    // Adding child data 
    List<String> geo = new ArrayList<String>(); 
    geo.add("2009 Öss Geometri Çözümler"); 



    List<String> mat1 = new ArrayList<String>(); 
    mat1.add("Polinomlar"); 






    listDataChild.put(listDataHeader.get(0), geo); // Header, Child data 
    listDataChild.put(listDataHeader.get(1), mat1); 

} 

回答

0

,我可以看到这里,你有没有附加了雅虎的网址你的第一个数组列表名称的链接,你在做什么,你是如果要移动父父列表项,然后使用这个

if(childPosition == 0 && groupPosition==0) 
     { 

      Intent int0 = new Intent(getApplicationContext(),webplayer.class); 
       int0.putExtra("url", links.get(childPosition)); 
       startActivity(int0); 
       finish(); 
     } 
:使雅虎成为第二个数组列表命名links2,而不是使用ArrayList的改变所以像这样的

final ArrayList<String> links = new ArrayList<String>();   
    links.add("http://www.google.com"); 
    links.add("http://www.yahoo.com"); 


expListView.setOnChildClickListener(new OnChildClickListener() { 

     @Override 
     public boolean onChildClick(ExpandableListView parent, View v, 
       int groupPosition, int childPosition, long id) { 

      if(childPosition == 0) 
      { 

      Intent int0 = new Intent(getApplicationContext(),webplayer.class); 
      int0.putExtra("url", links.get(childPosition)); // refernce for google 
        startActivity(int0); 
        finish(); 
      } 
     if(childPosition == 1) 
     { 

      Intent int0 = new Intent(getApplicationContext(),webplayer.class); 
       int0.putExtra("url", links.get(childPosition)); // refernce for yahho 
       startActivity(int0); 
       finish(); 
     } 

编辑。

+1

谢谢你ROBI它工作!谢谢你哦! – MacSTD 2014-10-10 07:09:32

+0

您的欢迎macSTD。 – 2014-10-10 07:12:33

+0

非常感谢您的帮助我跑了2天。 – MacSTD 2014-10-10 07:13:24