在textview中显示数组/字符串的第一个元素并从中启动数组

时间:2015-04-29 03:55:36

标签: android arrays

我有一个代码,我在下一个和后退按钮的帮助下正向和反向移动文本。现在我遇到的问题是我需要首先显示字符串中的第一个元素并从该元素向前和向后移动该字符串。这是我的代码

    String[] answers = { "red", "green", "blue" };
    private int _position = answers.length - 1;

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

        Button btnNext = (Button) findViewById(R.id.button2);
        Button btnBack = (Button) findViewById(R.id.button1);

        final TextView tv = (TextView) findViewById(R.id.textView1);
        tv.setText(answers[_position]);



        // INITIALIZING OVER
        btnNext.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {


                if (_position < answers.length - 1) {
                    _position++;
                } else {
                    _position = 0;
                }
                tv.setText(answers[_position]);

            }

        });

        btnBack.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                if (_position > 0) {
                    _position--;
                } else {
                    _position = answers.length - 1;
                }
                tv.setText(answers[_position]);

            }

        });

    }
}

我尝试在xml中分配我想要开始的值,doest帮助因为我的第一个元素重复了两次。

以下也没有帮助

tv.setText(answers[0]);

1 个答案:

答案 0 :(得分:0)

你的逻辑是正确的,但没有错。所以尝试这个修改过的。希望它能奏效。

public class Test{
  public static void main(String[] args)
   {  
     try{
        Test t = new Test();
          synchronized (t){
          System.out.println("Will wait for 10 secs");
          t.wait(10000);
          System.out.println("Wait over");
          }
        }
        catch (Exception e){
        System.out.println(e);
        }        
    }
}   

}