私はこの問題を抱えています。2つのボタンと1つのTextViewを使用してアクティビティを作成しました。「次へ」ボタンを押すとTextViewが変更され、「前へ」ボタンを使用してTextViewを元の状態(textview1)に戻します。ただし、textview1が表示されているときに「Previous」を押すか、textview2が表示されているときに「Next」を押すと、アプリケーションでエラーが発生し、結果としてシャットダウンされます。私が今達成したいのは、textview1がオンのときにボタン「前へ」を非表示にし、textview2がオンのときにボタン「次へ」を非表示にすることです。
これは私が現在使用しているクラスです:
package com.example.test8;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Typeface;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageButton;
import android.widget.TextView;
public class Main extends Activity {
private static final String[] Texts=
{"textview1",
"textview2"
};
int textIdx = 0;
TextView Text;
ImageButton Next;
ImageButton Previous;
public static String getText(int idx) {
return Texts[idx];
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView text = (TextView) findViewById(R.id.text);
ImageButton Next = (ImageButton) findViewById(R.id.Next);
ImageButton Previous = (ImageButton) findViewById(R.id.Previous);
Text.setText(getText(textIdx));
Next.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
textIdx++;
Text.setText(getText(textIdx));
}
});
Previous.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
textIdx--;
Text.setText(getText(textIdx));
}
});
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
else ifステートメントを使用することを考えましたが、知識と経験が不足しているため、機能させることができませんでした。誰かがここで私を助けてくれるなら、それは素晴らしいことです。前もって感謝します。