Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.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 为子布局设置OnClickListener_Android_Layout_Onclicklistener - Fatal编程技术网

Android 为子布局设置OnClickListener

Android 为子布局设置OnClickListener,android,layout,onclicklistener,Android,Layout,Onclicklistener,如何为子布局设置onClickListener…每个子布局都必须打开一些新活动。我需要设置每个孩子可以点击打开新的活动。在那里我需要放一个代码…我是新来的 这是我的适配器: public MyExpandableAdapter(ArrayList<String> parents, ArrayList<Object> childern) { this.parentItems = parents; this.childtems = childern; } p

如何为子布局设置onClickListener…每个子布局都必须打开一些新活动。我需要设置每个孩子可以点击打开新的活动。在那里我需要放一个代码…我是新来的 这是我的适配器:

public MyExpandableAdapter(ArrayList<String> parents, ArrayList<Object> childern)
{
    this.parentItems = parents;
    this.childtems = childern;
}

public void setInflater(LayoutInflater inflater, Activity activity)
{
    this.inflater = inflater;
    this.activity = activity;
}

// method getChildView is called automatically for each child view.
//  Implement this method as per your requirement
@Override
public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
{
    child = (ArrayList<String>) childtems.get(groupPosition);

    TextView textView = null;
    ImageView img = null;

    if (convertView == null) {
        convertView = inflater.inflate(R.layout.child_view, null);
    }

    // get the textView reference and set the value
    textView = (TextView) convertView.findViewById(R.id.textViewChild);
    textView.setText(child.get(childPosition));
    img = (ImageView) convertView.findViewById(R.id.childImage);


        if (childPosition == 0 && groupPosition==0) {
            img.setImageResource(R.drawable.slika1);
        }
        if (childPosition == 1 && groupPosition==0) {
            img.setImageResource(R.drawable.slika2);
        }
        if (childPosition == 2 && groupPosition==0) {
            img.setImageResource(R.drawable.slika1);
        }
        if (childPosition == 3 && groupPosition==0) {
            img.setImageResource(R.drawable.slika2);
        }
        if (childPosition == 4 && groupPosition==0) {
            img.setImageResource(R.drawable.slika1);
        }
        if (childPosition == 5 && groupPosition==0) {
            img.setImageResource(R.drawable.slika2);
        }
        if (childPosition == 6 && groupPosition==0) {
            img.setImageResource(R.drawable.slika1);
        }
        if (childPosition == 7 && groupPosition==0) {
            img.setImageResource(R.drawable.slika2);
        }
        if (childPosition == 8 && groupPosition==0) {
            img.setImageResource(R.drawable.slika1);
        }
        if (childPosition == 0 && groupPosition==1) {
            img.setImageResource(R.drawable.slika2);
        }
        if (childPosition == 1 && groupPosition==1) {
            img.setImageResource(R.drawable.slika1);
        }
        if (childPosition == 2 && groupPosition==1) {
            img.setImageResource(R.drawable.slika2);
        }
        if (childPosition == 3 && groupPosition==1) {
            img.setImageResource(R.drawable.slika1);
        }
        if (childPosition == 0 && groupPosition==2) {
            img.setImageResource(R.drawable.slika2);
        }
        if (childPosition == 1 && groupPosition==2) {
            img.setImageResource(R.drawable.slika1);
        }
        if (childPosition == 2 && groupPosition==2 ) {
            img.setImageResource(R.drawable.slika2);
        }
        if (childPosition == 3 && groupPosition==2) {
            img.setImageResource(R.drawable.slika1);
        }
        if (childPosition == 0 && groupPosition==3) {
            img.setImageResource(R.drawable.slika2);
        }
        if (childPosition == 1 && groupPosition==3) {
            img.setImageResource(R.drawable.slika1);
        }
        if (childPosition == 2 && groupPosition==3) {
            img.setImageResource(R.drawable.slika2);
        }
        if (childPosition == 3 && groupPosition==3) {
            img.setImageResource(R.drawable.slika1);
        }

    // set the ClickListener to handle the click event on child item
   convertView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            Toast.makeText(activity, child.get(childPosition),
                    Toast.LENGTH_SHORT).show();   
        }
    });
    return convertView;
}

// method getGroupView is called automatically for each parent item
// Implement this method as per your requirement
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent)
{

    if (convertView == null) {
        convertView = inflater.inflate(R.layout.parent_view, null);
    }

    ((CheckedTextView) convertView).setText(parentItems.get(groupPosition));
    ((CheckedTextView) convertView).setChecked(isExpanded);

    return convertView;
}
公共MyExpandableAdapter(ArrayList父项,ArrayList子项)
{
this.parentItems=父项;
this.childtems=childern;
}
公共空隙设置充气机(充气机、活动)
{
这个。充气机=充气机;
这个。活动=活动;
}
//方法getChildView会自动为每个子视图调用。
//根据您的需求实施此方法
@凌驾
公共视图getChildView(最终整数组位置、最终整数子位置、布尔isLastChild、视图转换视图、视图组父级)
{
child=(ArrayList)childtems.get(groupPosition);
TextView TextView=null;
ImageView img=null;
if(convertView==null){
convertView=充气机。充气(R.layout.child_视图,空);
}
//获取textView引用并设置值
textView=(textView)convertView.findViewById(R.id.textViewChild);
setText(child.get(childPosition));
img=(ImageView)convertView.findViewById(R.id.childImage);
if(childPosition==0&&groupPosition==0){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==1&&groupPosition==0){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==2&&groupPosition==0){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==3&&groupPosition==0){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==4&&groupPosition==0){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==5&&groupPosition==0){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==6&&groupPosition==0){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==7&&groupPosition==0){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==8&&groupPosition==0){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==0&&groupPosition==1){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==1&&groupPosition==1){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==2&&groupPosition==1){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==3&&groupPosition==1){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==0&&groupPosition==2){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==1&&groupPosition==2){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==2&&groupPosition==2){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==3&&groupPosition==2){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==0&&groupPosition==3){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==1&&groupPosition==3){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==2&&groupPosition==3){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==3&&groupPosition==3){
img.setImageResource(R.drawable.slika1);
}
//设置ClickListener以处理子项上的click事件
convertView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Toast.makeText(活动,子.get(子位置),
吐司。长度(短)。show();
}
});
返回视图;
}
//为每个父项自动调用方法getGroupView
//根据您的需求实施此方法
@凌驾
公共视图getGroupView(int groupPosition、布尔isExpanded、视图convertView、视图组父级)
{
if(convertView==null){
convertView=充气机。充气(R.layout.parent_视图,空);
}
(CheckedTextView)convertView.setText(parentItems.get(groupPosition));
((CheckedTextView)convertView).setChecked(isExpanded);
返回视图;
}

您可以使用以下代码设置背景和单击侦听器,而不是if条件:

        Intent intent  = null;
         switch (groupPosition){
                case 0:
                    switch (childPosition){
                        case 0:
                            img.setImageResource(R.drawable.slika1);
                            intent  = new Intent(activity, Activity1.class);
                            break;
                        ....
                    }
                    break;       
                case 1:
                    switch (childPosition){
                        case 0:
                            img.setImageResource(R.drawable.slika2);
                            intent  = new Intent(activity, Activity2.class);
                            break;
                        ....
                    }
                    break;
            }
         convertView.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {    
                    activity.startActivity(intent);
                 }
          });

希望这能有所帮助。

发布你代码的xml代码我不知道如何发布代码……我是新来的:-(…电子邮件?viber?我按照你说的写,但什么都没有
        Intent intent  = null;
         switch (groupPosition){
                case 0:
                    switch (childPosition){
                        case 0:
                            img.setImageResource(R.drawable.slika1);
                            intent  = new Intent(activity, Activity1.class);
                            break;
                        ....
                    }
                    break;       
                case 1:
                    switch (childPosition){
                        case 0:
                            img.setImageResource(R.drawable.slika2);
                            intent  = new Intent(activity, Activity2.class);
                            break;
                        ....
                    }
                    break;
            }
         convertView.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {    
                    activity.startActivity(intent);
                 }
          });