Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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 图像按钮安卓开关bg图像_Android - Fatal编程技术网

Android 图像按钮安卓开关bg图像

Android 图像按钮安卓开关bg图像,android,Android,有人能告诉我为什么这不起作用吗?我一点错误都没有,只是不起作用 在我添加屏幕扫描之前,这实际上一直都很好,现在我想不出是什么错了 谢谢 package com.sample.sample import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import

有人能告诉我为什么这不起作用吗?我一点错误都没有,只是不起作用

在我添加屏幕扫描之前,这实际上一直都很好,现在我想不出是什么错了

谢谢

package com.sample.sample

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;

public class PageOneFragment extends Fragment {

ImageButton btn1;
static int i = 0;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
        R.layout.page1_layout, container, false);
btn1 = (ImageButton) rootView.findViewById(R.id.m1_btn);
return rootView;
}

public void setupPlayPauseButton1(View view) {
    btn1 = (ImageButton) view.findViewById(R.id.m1_btn);

    btn1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            i +=1;
            if (i % 2 == 0) {
                btn1.setImageResource(R.drawable.pause);
            } else {
                btn1.setImageResource(R.drawable.play);

            }
        }
    });
}
}
编辑

是这样吗

package com.wepromoteme.brapp;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;

public class PageOneFragment extends Fragment {

ImageButton btn1;
int i = 0;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
        R.layout.page1_layout, container, false);
btn1 = (ImageButton) rootView.findViewById(R.id.m1_btn);


setupPlayPauseButton1(rootView);

return rootView;

}

private void setupPlayPauseButton1(View view) {
    btn1 = (ImageButton) view.findViewById(R.id.m1_btn);

    btn1.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            i +=1;
            if (i % 2 == 0) {
                btn1.setImageResource(R.drawable.pause);
            } else {
                btn1.setImageResource(R.drawable.play);

            }
        }   
    });
}
}
您没有告诉我什么“不起作用”,但我愿意猜测这是原因:
static int I=0

static这里意味着
i
的值由
PageOneFragment
的所有实例共享

如果在屏幕旋转等情况下使用static保持变量值,则应使用fragment方法。有关这方面的更多信息,请参见官方文档:

碰巧我已经弄明白了,我决定让我的大脑休息几个小时,因为我觉得我陷入了一个无法看到树木的螺旋式下降:p

这是我的代码,适用于任何遇到与我相同问题的人。这实际上是有效的:

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;

public class PageTwoFragment extends Fragment {

int i = 0;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
        R.layout.page2_layout, container, false);

final ImageButton btn1 = (ImageButton) rootView.findViewById(R.id.m1_btn);
final ImageButton btn2 = (ImageButton) rootView.findViewById(R.id.m2_btn);
final ImageButton btn3 = (ImageButton) rootView.findViewById(R.id.m3_btn);
final ImageButton btn4 = (ImageButton) rootView.findViewById(R.id.m4_btn);
final ImageButton btn5 = (ImageButton) rootView.findViewById(R.id.m5_btn);

btn1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        i +=1;
        if (i % 2 == 0) {
            btn1.setImageResource(R.drawable.pause);
        } else {
            btn1.setImageResource(R.drawable.play);
        }
    }
});

btn2.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        i +=1;
        if (i % 2 == 0) {
            btn2.setImageResource(R.drawable.pause);
        } else {
            btn2.setImageResource(R.drawable.play);
        }
    }
});

btn3.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        i +=1;
        if (i % 2 == 0) {
            btn3.setImageResource(R.drawable.pause);
        } else {
            btn3.setImageResource(R.drawable.play);
        }

    }
});

btn4.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        i +=1;
        if (i % 2 == 0) {
            btn4.setImageResource(R.drawable.pause);
        } else {
            btn4.setImageResource(R.drawable.play);
        }

    }
});

btn5.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        i +=1;
        if (i % 2 == 0) {
            btn5.setImageResource(R.drawable.pause);
        } else {
            btn5.setImageResource(R.drawable.play);
            }       
    }
});

return rootView;
}
}

“屏幕扫描”是什么意思?是吗?
我一点错误都没有,只是不起作用。你需要有不同的想法。如果您没有错误,它将工作。从准确描述发生的事情开始。“不起作用”是一句无用的话。另外,请描述您在何处以及如何调用
setupplaybausebutton1
屏幕滑动来自本教程,非常有用。谢谢,这确实是一个浏览页面。最好使用正确的名称;)@simon,抱歉,没有错误意味着我的ide eclipse没有抛出错误,应用程序构建得很好,但图像不会像使用时那样在单击时发生更改,但代码相同,但我已经添加了屏幕幻灯片。谢谢,我根本不想让屏幕旋转,并已将其设置为不旋转。我现在要看看这个。谢谢你只需删除
static
,你也应该很好。作为个人品味,当应用程序无缘无故拒绝旋转时,我觉得有点恼火:phahah,是的,我有时也会这样做,但在这种情况下,该应用程序对纵向视图中的任何人都不是很有用。