我正在开发一个具有下一个/上一个和复制按钮的报价应用程序。
这是代码:
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 ???中的上一个字符串
答案 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);