android可扩展列表视图

问题描述

| 我正在使用展开式列表,但我想知道用户单击哪个项目的位置 我已经使用过onitemclick,但是它没有向我显示味精。 我在做什么错?
public void funName(){
    File ringtones_directory = new File(DIRECTORY);
    if (!ringtones_directory.exists()) {
        AlertDialog.Builder ad = new AlertDialog.Builder(
                FindFilesByType.this);
        ad.setTitle(\"Directory Not Found\");
        ad.setMessage(\"Sorry! The ringtones directory doesn\'t exist.\");
        ad.setPositiveButton(\"OK\",null);
        ad.show();

        hasErrors = true;
    }

    if (!ringtones_directory.canRead()) {
        AlertDialog.Builder ad = new AlertDialog.Builder(
                FindFilesByType.this);
        ad.setTitle(\"Permissions\");
        ad
                .setMessage(\"Sorry! You don\'t have permission to list the files in that folder\");
        ad.setPositiveButton(\"OK\",null);
        ad.show();
        hasErrors = true;
    } else {
        ringtones = FindFiles(false);

        if (ringtones.size() < 1) {
            AlertDialog.Builder ad = new AlertDialog.Builder(
                    FindFilesByType.this);
            ad.setTitle(\"Permissions\");
            ad.setMessage(\"Sorry! No ringtones exists in \" + DIRECTORY
                    + \".\");
            ad.setPositiveButton(\"OK\",null);
            ad.show();
            Log.e(LOG_TAG,\"No ringtones were found.\");
            hasErrors = true;
        }

    }

    try {

        if (!hasErrors) {
            // refreshList();
            // this.lv1.setAdapter(new ArrayAdapter<String>(
            // FindFilesByType.this,android.R.layout.test_list_item,// ringtones));
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                    FindFilesByType.this,ringtones);
            ArrayList<String> GrouppList = new ArrayList<String>();
            GrouppList.addAll(ringtones);
            ArrayList<ArrayList<Color>> colors = new ArrayList<ArrayList<Color>>();
            for(int i=0;i<=ringtones.size();i++){
            ArrayList<Color> color = new ArrayList<Color>();

            color = new ArrayList<Color>();

            color.add(new Color(\" \",\"\",true));

            colors.add(color);}
            explistadapter = new ColorAdapter(this,GrouppList,colors);
        //  setlistadapter(explistadapter);
            exlv1=(ExpandableListView) findViewById(R.id.expandableListView1);
            this.exlv1.setAdapter(explistadapter);
            //exlv1.setAdapter(explistadapter);
            this.exlv1.setonItemClickListener(new OnItemClickListener() {
//THIS METHOD NOT WORKING FOR ME
                @Override
                public void onItemClick(AdapterView<?> aview,View v,int position,long id) {
                    Toast.makeText(FindFilesByType.this,\"position \"+position,Toast.LENGTH_LONG).show();//THIS DOESNOT WORKING
                    // Todo Auto-generated method stub

                }
            });


        }

    } catch (Exception e) {
        Toast.makeText(this,\"Error \" + e.toString(),Toast.LENGTH_LONG)
                .show();
        Log.i(LOG_TAG,e.toString());
    }
    

解决方法

        尝试此操作以在单击孩子时进行处理:
exlv1.setOnChildClickListener(new OnChildClickListener() {
    public boolean onChildClick(ExpandableListView parent,View v,int groupPosition,int childPosition,long id) {

    }
};