Java Android编程错误
我创建了一个android墙纸的应用程序名,但问题是,当我点击左键和右键时,下一个和上一个墙纸都没有出现。我试了很多次,但都失败了Java Android编程错误,java,android,Java,Android,我创建了一个android墙纸的应用程序名,但问题是,当我点击左键和右键时,下一个和上一个墙纸都没有出现。我试了很多次,但都失败了 public class Wallpapers extends AppCompatActivity { WallpaperManager managerr; Button B; Button b1; Button b2; ImageView m; int a[]={R.drawable.w1,R.drawable.w
public class Wallpapers extends AppCompatActivity {
WallpaperManager managerr;
Button B;
Button b1;
Button b2;
ImageView m;
int a[]={R.drawable.w1,R.drawable.w2,R.drawable.w3};
int aa;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wallpapers);
click();
}
public void click()
{
m = (ImageView) findViewById(R.id.imageView);
B=(Button)findViewById(R.id.button3);
b1=(Button)findViewById(R.id.button);
b2=(Button)findViewById(R.id.button2);
managerr = WallpaperManager.getInstance(getApplicationContext());
m.setImageResource(R.drawable.w1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if()
{
m.setImageResource(R.drawable.w2);
}
else if(m.getDrawable()==getResources().getDrawable(R.drawable.m2).getCurrent())
{
m.setImageResource(R.drawable.w3);
}
}
});
}
}
这就是密码
这是应用程序的图像:
您仅为b1设置了
onClickListener
更改您的代码如下
int currentPosition = 0;
public void click(){
m = (ImageView) findViewById(R.id.imageView);
B= (Button) findViewById(R.id.button3);
left = (Button) findViewById(R.id.button);
right = (Button) findViewById(R.id.button2);
managerr = WallpaperManager.getInstance(getApplicationContext());
m.setImageResource(R.drawable.m1);
left.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
if(currentPosition > 0){
m.setImageResource(previuosDrawable);
currentPosition--;
}
}
}
right.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
if(currentPosition < pictures.length){
m.setImageResource(nextDrawable);
currentPosition++;
}
}
}
}
int currentPosition=0;
公共作废点击(){
m=(ImageView)findViewById(R.id.ImageView);
B=(按钮)findViewById(R.id.button3);
左=(按钮)findViewById(R.id.Button);
右=(按钮)findViewById(R.id.button2);
managerr=wallperManager.getInstance(getApplicationContext());
m、 setImageResource(R.drawable.m1);
left.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图){
如果(当前位置>0){
m、 setImageResource(可预先绘制);
当前位置--;
}
}
}
right.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图){
if(当前位置<图片长度){
m、 setImageResource(nextDrawable);
currentPosition++;
}
}
}
}
您仅为b1设置了onClickListener
更改您的代码如下
int currentPosition = 0;
public void click(){
m = (ImageView) findViewById(R.id.imageView);
B= (Button) findViewById(R.id.button3);
left = (Button) findViewById(R.id.button);
right = (Button) findViewById(R.id.button2);
managerr = WallpaperManager.getInstance(getApplicationContext());
m.setImageResource(R.drawable.m1);
left.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
if(currentPosition > 0){
m.setImageResource(previuosDrawable);
currentPosition--;
}
}
}
right.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
if(currentPosition < pictures.length){
m.setImageResource(nextDrawable);
currentPosition++;
}
}
}
}
int currentPosition=0;
公共作废点击(){
m=(ImageView)findViewById(R.id.ImageView);
B=(按钮)findViewById(R.id.button3);
左=(按钮)findViewById(R.id.Button);
右=(按钮)findViewById(R.id.button2);
managerr=wallperManager.getInstance(getApplicationContext());
m、 setImageResource(R.drawable.m1);
left.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图){
如果(当前位置>0){
m、 setImageResource(可预先绘制);
当前位置--;
}
}
}
right.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图){
if(当前位置<图片长度){
m、 setImageResource(nextDrawable);
currentPosition++;
}
}
}
}
首先,if()没有任何条件,因此无法工作。首先添加if(m.getDrawable()==getResources().getDrawable(R.drawable.m2).getCurrent())
然后根据需要添加所有else,最后添加else,包括m.setImageResource(R.drawable.w2);
第二,您需要对两个按钮对象设置setOnClickListener
,因为您只将侦听器设置为b1
,而不是b2
什么是B
如果您不访问drawables字段,为什么会有一个名为a
的数组,其中包含drawables?您可以使用a[index]
访问drawables,并在单击b1
或b2
时将索引编号从0增加或减少到3或从3减少到0。首先,如果()如果(m.getDrawable()==getResources().getDrawable(R.drawable.m2.getCurrent())
然后根据需要添加所有else,最后添加else,包括m.setImageResource(R.drawable.w2);
第二,您需要对两个按钮对象设置setOnClickListener
,因为您只将侦听器设置为b1
,而不是b2
什么是B
如果您不访问drawables字段,为什么会有一个名为a
的数组,其中包含drawables?您可以使用a[index]访问drawables
并在单击b1
或b2
时将索引编号从0增加或减少到3或从3减少到0。这样会更好…我已经编辑了我的示例。现在,您只需要一个可绘制列表,即可设置上一个或下一个可绘制。我已经编辑了我的示例。现在,您只需要一个可绘制列表,即可设置上一个或下一个绘制能够的