Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何设置“下一步”和“上一步”按钮_Android - Fatal编程技术网

Android 如何设置“下一步”和“上一步”按钮

Android 如何设置“下一步”和“上一步”按钮,android,Android,您好,作为标题状态,我正在尝试设置下一个和上一个按钮,但我仍然是新的编码,所以这让我有点困惑 我尝试在一个按钮内使用带有枚举的if语句,但在处理事件时它默认为最后一个if语句- private enum EVENT{ pe1, pe2, pe3, pe4; } EVENT currentEvent = EVENT.pe1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCrea

您好,作为标题状态,我正在尝试设置下一个和上一个按钮,但我仍然是新的编码,所以这让我有点困惑

我尝试在一个按钮内使用带有枚举的if语句,但在处理事件时它默认为最后一个if语句-

private enum EVENT{
    pe1, pe2, pe3, pe4;
}


 EVENT currentEvent = EVENT.pe1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_one_liners);

    nextBtn = (Button) findViewById(R.id.nextBtn);
    olText = (TextView) findViewById(R.id.olText);






        nextBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {



                if (currentEvent==EVENT.pe1) {
                    olText.setText("PE1");
                    olText.startAnimation(AnimationUtils.loadAnimation(olText.this, android.R.anim.slide_in_left));
                    currentEvent=EVENT.pe2;
                }

                if (currentEvent==EVENT.pe2){
                    olText.setText("PE2");
                    olText.startAnimation(AnimationUtils.loadAnimation(olText.this, android.R.anim.slide_in_left));
                    currentEvent=EVENT.pe3;
                }
            }
        });


}
我尝试使用枚举器为每个if语句分配一个数字,这样当用户点击上一条语句时,它将进行减法运算,当用户点击下一条语句时,它将进行加法运算,每个数字的if语句中都会有一些文本或图像,但正如我所说的,它默认为最后一条if语句,非常感谢您的帮助。

如何

int eventNum = 0;
int maxEvents = XXX;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_one_liners);

    prevBtn = (Button) findViewById(R.id.prevBtn);
    nextBtn = (Button) findViewById(R.id.nextBtn);
    olText = (TextView) findViewById(R.id.olText);

    setEventData(true);

    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if(v.equals(prevBtn) && eventNum > 0) {
                eventNum--;
                setEventData(false);
                return;
            }

            if(v.equals(nextBtn) && eventNum < maxEvents - 1) {
                eventNum++;
                setEventData(true);
                return;
            }
        }
    }

    nextBtn.setOnClickListener(listener);
    prevBtn.setOnClickListener(listener);
}

private void setEventData(boolean animLeft) {
    olText.setText("PE" + (eventNum + 1));

    if(animLeft) {
        olText.startAnimation(AnimationUtils.loadAnimation(olText.this, android.R.anim.slide_in_left));
    } else {
        olText.startAnimation(AnimationUtils.loadAnimation(olText.this, android.R.anim.slide_in_right));
    }
}
int eventNum=0;
int maxEvents=XXX;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one_liners);
prevBtn=(按钮)findViewById(R.id.prevBtn);
nextBtn=(按钮)findViewById(R.id.nextBtn);
olText=(TextView)findViewById(R.id.olText);
setEventData(真);
View.OnClickListener=newview.OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(v.equals(prevBtn)和&eventNum>0){
事件数--;
setEventData(假);
返回;
}
if(v.equals(nextBtn)和&eventNum
您需要创建一个类变量来跟踪TextView显示的文本。所以在下面的示例中,我创建了一个字符串列表,我只是将其存储在字符串数组中。然后我创建一个迭代器变量,用于存储我当前在TextView中查看的列表中的哪个字符串。每次单击“上一步”或“下一步”按钮时,只需将当前状态存储在迭代器变量中,以便在下次出现单击事件时调用它

String[] labels = {"one", "two", "three", "four"};
int currentView = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void onPreviousButtonClicked(View view) {
    TextView textView = (TextView) findViewById(R.id.clickableLink);
    currentView--; //decrement our iterator
    if(currentView < 0) currentView = 0; //check to make sure we didn't go below zero
    textView.setText(labels[currentView]);
}

public void onNextButtonClicked(View view) {
    TextView textView = (TextView) findViewById(R.id.clickableLink);
    currentView++; //increment our iterator
    if(currentView > labels.length-1) currentView = labels.length-1; //check to make sure we didn't go outside the array
    textView.setText(labels[currentView]);
}
String[]标签={“一”、“二”、“三”、“四”};
int currentView=0;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
公共作废onPreviousButtonClicked(查看){
TextView TextView=(TextView)findViewById(R.id.clickableLink);
currentView--;//递减迭代器
如果(currentView<0)currentView=0;//检查以确保我们没有低于零
setText(标签[currentView]);
}
公共无效onNextButtonClicked(视图){
TextView TextView=(TextView)findViewById(R.id.clickableLink);
currentView++;//递增迭代器
如果(currentView>labels.length-1)currentView=labels.length-1;//请检查以确保没有超出数组
setText(标签[currentView]);
}

为什么您不能有两个按钮,一个“下一步”按钮和一个“上一步”按钮?然后每个按钮都有自己的on
onClickListener
,这样您就可以准确地知道单击了哪个按钮了?很抱歉,我没有将上一个按钮的代码添加到问题中,但正如您所说,这两个按钮都存在问题,但我对该按钮的问题与对下一个按钮的问题相同,因此我只发布了下一个按钮代码块。问题是,它只是默认为onclicklistener.OK中的最后一个代码块,所以请描述单击“下一步”按钮时希望发生的情况。那么单击上一个按钮时会发生什么?好的,单击下一个按钮时会向用户显示一段新的文本/img,而上一个按钮将返回到最后一个文本/img。在列表的末尾,如果在末尾点击next,它将还原为显示的第一个文本/图像;如果在末尾点击previous,它将还原为显示的最后一个文本/图像