2012-02-01 23 views
0

こんにちは私は、EditTextを使用してAndroidアプリを開発しています。 私はそれが今働いていますが、私はそれを複数の値に繰り返す必要があります。私は異なる変数でコードを繰り返すことができますが、コードは本当に大きくなるでしょう。Java Androidコードを短くするにはどうすればよいですか?

誰でも複数の値に対して同じコードを繰り返す方法はありますか?

これは私の現在のコードです:彼らは一般的なものとなるよう

package com.lars.MyApp; 

import com.lars.MyApp.R; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.Button; 
import android.widget.EditText; 
import android.view.View; 
import android.view.View.OnClickListener; 


public class MyAppActivity extends Activity { 

    int currentValue = 0; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     final EditText Value = (EditText) findViewById(R.id.Value); 
     Button addButton = (Button) findViewById(R.id.addButton); 
     Button minusButton = (Button) findViewById(R.id.minusButton); 

     addButton.setOnClickListener(new OnClickListener(){ 

      public void onClick(View v) { 
       addValue(); 
       Value.setText("" + currentValue); 
      } 

     }); 

     minusButton.setOnClickListener(new OnClickListener(){ 

      public void onClick(View v) { 
       minusValue(); 
       Value.setText("" + currentValue); 
      } 

     }); 


    } 

    public void addValue(){ 
     if(currentValue <= 999){ 
     currentValue = currentValue + 1; 
     } 
    } 

    public void minusValue(){ 
     if(currentValue >= 1){ 
      currentValue = currentValue - 1; 
     } 
    } 

} 
+1

どのコードですか?同じものをするメソッドにIDを渡します。具体的にリファクタリングしたいものが何であるかはわかりません。 –

答えて

3

あなたはあなたのOnClickListenersをリファクタリングする必要があります。おそらく、これを行う最も簡単な方法は、メソッドをaddValue(View v)に、minusValue()minusValue(View v)に変更することです。次に、レイアウトxmlにプロパティandroid:onClick=addValueまたはandroid:onClick=minusValueを追加します。メソッド本体を更新してビューのIDを確認し、それに基づいて適切な処理を行う必要がありますが、onClickメソッドの中でOnClickListenersをたくさん作成して設定する必要はありません。無料で。

関連する問題