我有两张可绘画的照片。我想要做的是用一个小的“下一个”按钮显示第一个图像,当点击下一个按钮时,另一个图像应该显示“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”。但是当我点击上一步时没有任何反应(第一张图片没有显示)。请帮帮我。
答案 0 :(得分:0)
在您的活动中声明一个字符串,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);
};
}
});
}
}
我在平板电脑上写的时候可能会有一些错误。