按钮显示上一个字符串

时间:2012-08-26 21:25:12

标签: android string button

我正在开发一个具有下一个/上一个和复制按钮的报价应用程序。

这是代码:

    Button btn1;
     String countires[];
     int i=0;
        /** Called when the activity is first created. */
     @Override
      public void onCreate(Bundle savedInstanceState)
     {
     super.onCreate(savedInstanceState);
         setContentView(R.layout.prob2);

btn1 = (Button) findViewById(R.id.prob2_btn1);

countires = getResources().getStringArray(R.array.country);

for (String string : countires)
{
    Log.i("--: VALUE :--","string = "+string);
}

btn1.setOnClickListener(new OnClickListener()
{
    @Override
    public void onClick(View arg0)
    {
        // TODO Auto-generated method stub
        String  country  = countires[i];
        btn1.setText(country);
        i++;
        if(i==countires.length)
            i=0;
    }
});
}

我需要onClick代码“previous”按钮才能显示textView ???中的上一个字符串

2 个答案:

答案 0 :(得分:4)

为您的活动创建一个新成员,如:

int actual = 0;

然后创建一个“下一个”按钮:

nextButton = (Button) findViewById(...);

nextButton.setOnClickListener(new OnClickListener()
{
    @Override
    public void onClick(View arg0)
    {
        actual = actual < countires.length - 1 ? actual + 1 : actual;
        String  country  = countires[actual];
        btn1.setText(country);
    }
});

上一个按钮也是如此:

prevButton = (Button) findViewById(...);

prevButton.setOnClickListener(new OnClickListener()
{
    @Override
    public void onClick(View arg0)
    {
        actual = actual > 0 ? actual - 1 : actual;
        String  country  = countires[actual];
        btn1.setText(country);
    }
});

答案 1 :(得分:2)

那将是:

// Prev
if ( i > 0 ) {
    i--;
} else {
    i = countires.length - 1;
}
String  country  = countires[i];
btn1.setText(country);

编辑:最有意义的是改变下一个按钮。因为在下一个方法中,您现在在设置文本后增加i。这有点搞乱了逻辑。

// Next
if ( i < countires.length - 1 ) {
    i++;
} else {
    i = 0;
}
String  country  = countires[i];
btn1.setText(country);