.增加兩個按鈕(prev,next)實現問題的遍歷

634828354發表於2017-04-12

 1)修改strings.xml,增加兩個按鈕和5個問題

  <string name="next_button">next one</string>

  <string name="prev_button">prev_button</string>

  <string name="question_oceans">1The Pacific Ocean is larger than the Atlantic Ocean</string>

  <string name="question_mideast">2The Suez Canal connects the Red Sea and the Indian Ocean</string>

  <string name="question_africa">3the source of the nile River is in Egypt</string>

  <string name="question_americas"> 4the amazon river is the longest river in the USA</string>

  <string name="question_asia">5Lake Baikal is the world\'s oldest and deepest freshwater lake</string>

  2)修改activity_main.xml,佈局兩個按鈕

  <LinearLayout

    android:layout_width="wrap_content"

    android:layout_height="wrap_content">

    <Button

        android:id="@+id/prev_button"

        android:text="@string/prev_button"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:drawablePadding="4dp"

        android:drawableRight="@drawable/arrow_left"/>

    <Button

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:id="@+id/next_button"

        android:text="@string/next_button"

        android:drawablePadding="4dp"

        android:drawableRight="@drawable/arrow_right"/>

  </LinearLayout>

  3)修改MainActivity.java

  private Button mNextButton;

  private TextView mQuestionTextView;

  private Button mPrevButton;

 

  private Question[] mQuestionsBank=new Question[]{

        new Question(R.string.question_oceans,true),

        new Question(R.string.question_mideast,false),

        new Question(R.string.question_africa,false),

        new Question(R.string.question_americas,true),

        new Question(R.string.question_asia,true),

  };

  private int mCurrentIndex=0;

  private void updateQuestion(){

    int question=mQuestionsBank[mCurrentIndex].getTextResId();

    mQuestionTextView.setText(question);

  }

  4)修改onCreate方法

  mNextButton = (Button)findViewById(R.id.next_button);

  mNextButton.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View view) {

        mCurrentIndex=(mCurrentIndex+1)%mQuestionsBank.length;

        updateQuestion();

    }

  });

  mPrevButton=(Button)findViewById(R.id.prev_button);

  mPrevButton.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View view) {

        mCurrentIndex-=1;

        if (mCurrentIndex==-1){

            mCurrentIndex=mQuestionsBank.length-1;

        }

        updateQuestion();

    }

  });

效果如圖



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30046312/viewspace-2137134/,如需轉載,請註明出處,否則將追究法律責任。

相關文章