我有這個問題。我用兩個按鈕和一個TextView創建了一個活動。通過按下按鈕「下一步」可以更改TextView,並使用按鈕「上一個」將TextView更改回原來的位置(即textview1)。但是當顯示textview1時按下「Previous」或在顯示textview2時按下「Next」時,應用程序會收到錯誤並因此被關閉。我現在想要實現的是讓textview1打開時Button「Previous」消失,當textview2打開時讓Button「Next」消失。如何在某些TextView顯示時使按鈕消失?
這是I類目前使用:
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語句,但我不能讓它工作,因爲我缺乏知識和經驗。如果有人能幫助我,那會很好。提前致謝。
這段代碼的一些調整工作。謝謝! –
我試圖讓代碼帳戶爲多於兩個元素的字符串數組。不知道它是否爲你的項目過度殺死,但認爲它可能會在未來幫助你 – Woodsy