-2

次/前のボタンとコピーボタンを備えた見積もりアプリを開発しています。

これはコードです:

    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;
    }
});
}

前の文字列を textView に表示するには、「前の」ボタンの onClick コードが必要です。

4

2 に答える 2

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);
    }
});
于 2012-08-26T21:32:50.567 に答える
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);
于 2012-08-26T21:30:03.810 に答える