如何使用next和prev按钮在两个图像之间切换?

时间:2014-01-28 02:02:45

标签: android

我有两张可绘画的照片。我想要做的是用一个小的“下一个”按钮显示第一个图像,当点击下一个按钮时,另一个图像应该显示“prev”按钮。现在,当点击上一个按钮时,第一个图像应显示“上一个”按钮。这是我的代码:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class Piqlout extends Activity {




@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.piq);

    Button next= (Button) findViewById(R.id.next);


    if (next.getText().equals("Next")) {
    next.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            ImageView img = (ImageView) findViewById(R.id.imageview);



            img.setImageResource(R.drawable.piq2);
            Button next= (Button) findViewById(R.id.next);
            next.setText("Prev");





        }
    });
    }
    if (next.getText().equals("Prev")){
    next.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub


                 ImageView img = (ImageView)     findViewById(R.id.imageview);
                 img.setImageResource(R.drawable.piq1);
                 Button next= (Button) findViewById(R.id.next);
                 next.setText("Next");


        }
    });
    }
}

}

这是我的布局:

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">

 <ImageView
    android:id="@+id/imageview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scaleType="fitCenter"
    android:src="@drawable/piq1" />

<Button
    android:id="@+id/next"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:layout_marginBottom="15dp"
    android:layout_marginRight="10dp"
    android:layout_gravity="bottom|right"
    android:paddingTop="2dp"
    android:paddingBottom="2dp"
    android:background="@drawable/buttonback"
    android:textColor="#000000"
    android:text="Next" />

  </FrameLayout>

发生的事情是第一张图像显示“下一步”按钮。当我单击下一步时,第二个图像也会出现,按钮文本变为“prev”。但是当我点击上一步时没有任何反应(第一张图片没有显示)。请帮帮我。

1 个答案:

答案 0 :(得分:0)

  1. 不要用XML设置文本。
  2. 在您的活动中声明一个字符串,setText并从那里更改它。一个例子:

    public class Piqlout extends Activity { 
    
    String s = "Next";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.piq);
    
    Button next= (Button) findViewById(R.id.next);
    next.setText(s);
    
    next.setOnClickListener(new View.OnClickListener() {
    
        @Override
        public void onClick(View v) {
                          if (s.equals("Next")) {
            // TODO Auto-generated method stub
            ImageView img = (ImageView) findViewById(R.id.imageview);               
    
            img.setImageResource(R.drawable.piq2);
            Button next= (Button) findViewById(R.id.next);
                            s = "Prev"
            next.setText(s);
                          } else {
                             ImageView img = (ImageView)     findViewById(R.id.imageview);
                 img.setImageResource(R.drawable.piq1);
                 Button next= (Button) findViewById(R.id.next);
                                     s = "Next"
                 next.setText(s);
                          };            
    
        }
    });
    }
    
    }
    
  3. 我在平板电脑上写的时候可能会有一些错误。