Android:onClickコードを重複排除するにはどうすればよいですか?

アーピット・マンドラ:

ユーザーがimageViewsの1つをクリックしてサービスの評価を送信するフィードバックアプリを作成しました。ここにコードがあります-

public class MainActivity extends AppCompatActivity {

EditText name;
ImageView oneStar, twoStar, threeStar, fourStar, fiveStar;
Intent intent;
FirebaseDatabase rootNode;
DatabaseReference reference;

public void displayScore() {
    intent = new Intent(getApplicationContext(), Score.class);
    startActivity(intent);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE); //will hide the title
    getSupportActionBar().hide(); // hide the title bar
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN); //enable full screen
    setContentView(R.layout.activity_main);
    name =  findViewById(R.id.editTextPersonName);
    oneStar =  findViewById(R.id.imageView1);
    twoStar =  findViewById(R.id.imageView2);
    threeStar = findViewById(R.id.imageView3);
    fourStar =  findViewById(R.id.imageView4);
    fiveStar =  findViewById(R.id.imageView5);
    oneStar.setTag(1);
    twoStar.setTag(2);
    threeStar.setTag(3);
    fourStar.setTag(4);
    fiveStar.setTag(5);

    oneStar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (name.length() == 0){
                name.setError("Please enter your full name.");
            }
            else {
                name.setError(null);
                rootNode = FirebaseDatabase.getInstance();
                reference = rootNode.getReference().child("Users");
                //Fetch all values
                String username = name.getText().toString();
                String value = view.getTag().toString();
                int rating = Integer.parseInt(value);
                UserHelper helper = new UserHelper(username,rating);
                reference.push().setValue(helper);
                Toast.makeText(MainActivity.this, "Feedback submitted successfully!", Toast.LENGTH_SHORT).show();
                sleep(2500);
                displayScore();
            }
        }
    });

    twoStar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (name.length() == 0){
                name.setError("Please enter your full name.");
            }
            else {
                name.setError(null);
                rootNode = FirebaseDatabase.getInstance();
                reference = rootNode.getReference().child("Users");
                //Fetch all values
                String username = name.getText().toString();
                String value = view.getTag().toString();
                int rating = Integer.parseInt(value);
                UserHelper helper = new UserHelper(username,rating);
                reference.push().setValue(helper);
                Toast.makeText(MainActivity.this, "Feedback submitted successfully!", Toast.LENGTH_SHORT).show();
                sleep(2500);
                displayScore();
            }
        }
    });

    threeStar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (name.length() == 0){
                name.setError("Please enter your full name.");
            }
            else {
                name.setError(null);
                rootNode = FirebaseDatabase.getInstance();
                reference = rootNode.getReference().child("Users");
                //Fetch all values
                String username = name.getText().toString();
                String value = view.getTag().toString();
                int rating = Integer.parseInt(value);
                UserHelper helper = new UserHelper(username,rating);
                reference.push().setValue(helper);
                Toast.makeText(MainActivity.this, "Feedback submitted successfully!", Toast.LENGTH_SHORT).show();
                sleep(2500);
                displayScore();
            }
        }
    });

    fourStar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (name.length() == 0){
                name.setError("Please enter your full name.");
            }
            else {
                name.setError(null);
                rootNode = FirebaseDatabase.getInstance();
                reference = rootNode.getReference().child("Users");
                //Fetch all values
                String username = name.getText().toString();
                String value = view.getTag().toString();
                int rating = Integer.parseInt(value);
                UserHelper helper = new UserHelper(username,rating);
                reference.push().setValue(helper);
                Toast.makeText(MainActivity.this, "Feedback submitted successfully!", Toast.LENGTH_SHORT).show();
                sleep(2500);
                displayScore();
            }
        }
    });

    fiveStar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (name.length() == 0){
                name.setError("Please enter your full name.");
            }
            else {
                name.setError(null);
                rootNode = FirebaseDatabase.getInstance();
                reference = rootNode.getReference().child("Users");
                //Fetch all values
                String username = name.getText().toString();
                String value = view.getTag().toString();
                int rating = Integer.parseInt(value);
                UserHelper helper = new UserHelper(username,rating);
                reference.push().setValue(helper);
                Toast.makeText(MainActivity.this, "Feedback submitted successfully!", Toast.LENGTH_SHORT).show();
                sleep(2500);
                displayScore();
            }
        }
    });
}

public void submit () {
    if (name.length() == 0){
        name.setError("Please enter your full name.");
    }
    else {
        name.setError(null);
        rootNode = FirebaseDatabase.getInstance();
        reference = rootNode.getReference().child("Users");
        //Fetch all values
        String username = name.getText().toString();
        String value = view.getTag().toString(); //This is where error occurs
        int rating = Integer.parseInt(value);
        UserHelper helper = new UserHelper(username,rating);
        reference.push().setValue(helper);
        Toast.makeText(MainActivity.this, "Feedback submitted successfully!", Toast.LENGTH_SHORT).show();
        sleep(2500);
        displayScore();
    }
}

}

imageViewのクリックを呼び出すためのメソッドを作成しようとしましたが、エラーが発生します-

String value = view.getTag().toString();

評価値はimageViewにタグとして保存されるためです。冗長なコードをすべて削除するためにメソッドを作成する方法を教えてください。前もって感謝します。

イェンス:

次のような新しいクラスを作成するだけです。

public class OnClickListener implements View.OnClickListener {

            @Override
            public void onClick(View view) {
                if (name.length() == 0){
                    name.setError("Please enter your full name.");
                }
                else {
                    name.setError(null);
                    rootNode = FirebaseDatabase.getInstance();
                    reference = rootNode.getReference().child("Users");
                    //Fetch all values
                    String username = name.getText().toString();
                    String value = view.getTag().toString();
                    int rating = Integer.parseInt(value);
                    UserHelper helper = new UserHelper(username,rating);
                    reference.push().setValue(helper);
                    Toast.makeText(MainActivity.this, "Feedback submitted successfully!", Toast.LENGTH_SHORT).show();
                    sleep(2500);
                    displayScore();
                }
            }
}

セッターで使用する:

twoStar.setOnClickListener(new  OnClickListener ());
threeStar.setOnClickListener(new  OnClickListener ());

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

findコマンドで-exec式を重複排除するにはどうすればよいですか?

分類Dev

コントローラメソッドで重複するnullチェックと例外処理を排除するにはどうすればよいですか?

分類Dev

C / C ++で追加の関数を宣言せずに、コードを重複排除するにはどうすればよいですか?

分類Dev

BTRFSを使用してデータを重複排除するにはどうすればよいですか?

分類Dev

BTRFSを使用してデータを重複排除するにはどうすればよいですか?

分類Dev

Big Queryテーブルを重複排除して変更するにはどうすればよいですか?

分類Dev

SQL Serverから重複レコードを削除するにはどうすればよいですか?

分類Dev

この例でコードの重複を回避するにはどうすればよいですか?

分類Dev

linqを使用して重複レコードを削除するにはどうすればよいですか?

分類Dev

AASMを使用してコードの重複を回避するにはどうすればよいですか?

分類Dev

重複したEnumコードを削除するにはどうすればよいですか?

分類Dev

フラグメントのコード重複を回避するにはどうすればよいですか?

分類Dev

フラグメントのコード重複を回避するにはどうすればよいですか?

分類Dev

このコードの重複を回避するにはどうすればよいですか?

分類Dev

重複したレコードを削除するにはどうすればよいですか?

分類Dev

このコードの重複した順列を削除するにはどうすればよいですか?

分類Dev

重複を削除し、SQLでそれらの重複を参照するレコードを更新するにはどうすればよいですか?

分類Dev

重複する値なしで列をコピーするにはどうすればよいですか?SQL

分類Dev

複数の入力フィールドを検証するときにコードの重複を回避するにはどうすればよいですか?

分類Dev

このJavaScriptでコードの重複を減らすにはどうすればよいですか?

分類Dev

コマンドの重複を削除するにはどうすればよいですか?

分類Dev

ノードが重複しているXMLを解析するにはどうすればよいですか?

分類Dev

Teradataで、重複レコードが存在する場合、1つのレコードのみを更新するにはどうすればよいですか?

分類Dev

CakePHPに重複レコードを挿入しないようにするにはどうすればよいですか?

分類Dev

複数のジョブから重複することなく上位Xレコードを取得するにはどうすればよいですか?

分類Dev

ページコードから重複を削除するためにサブレイアウトを作成するにはどうすればよいですか?

分類Dev

複数のコンストラクターでコードが重複しないようにするにはどうすればよいですか?

分類Dev

Googleドキュメントのすべての行を特定の列に重複排除するにはどうすればよいですか?

分類Dev

Kotlinコードから重み属性を動的に設定するにはどうすればよいですか?

Related 関連記事

  1. 1

    findコマンドで-exec式を重複排除するにはどうすればよいですか?

  2. 2

    コントローラメソッドで重複するnullチェックと例外処理を排除するにはどうすればよいですか?

  3. 3

    C / C ++で追加の関数を宣言せずに、コードを重複排除するにはどうすればよいですか?

  4. 4

    BTRFSを使用してデータを重複排除するにはどうすればよいですか?

  5. 5

    BTRFSを使用してデータを重複排除するにはどうすればよいですか?

  6. 6

    Big Queryテーブルを重複排除して変更するにはどうすればよいですか?

  7. 7

    SQL Serverから重複レコードを削除するにはどうすればよいですか?

  8. 8

    この例でコードの重複を回避するにはどうすればよいですか?

  9. 9

    linqを使用して重複レコードを削除するにはどうすればよいですか?

  10. 10

    AASMを使用してコードの重複を回避するにはどうすればよいですか?

  11. 11

    重複したEnumコードを削除するにはどうすればよいですか?

  12. 12

    フラグメントのコード重複を回避するにはどうすればよいですか?

  13. 13

    フラグメントのコード重複を回避するにはどうすればよいですか?

  14. 14

    このコードの重複を回避するにはどうすればよいですか?

  15. 15

    重複したレコードを削除するにはどうすればよいですか?

  16. 16

    このコードの重複した順列を削除するにはどうすればよいですか?

  17. 17

    重複を削除し、SQLでそれらの重複を参照するレコードを更新するにはどうすればよいですか?

  18. 18

    重複する値なしで列をコピーするにはどうすればよいですか?SQL

  19. 19

    複数の入力フィールドを検証するときにコードの重複を回避するにはどうすればよいですか?

  20. 20

    このJavaScriptでコードの重複を減らすにはどうすればよいですか?

  21. 21

    コマンドの重複を削除するにはどうすればよいですか?

  22. 22

    ノードが重複しているXMLを解析するにはどうすればよいですか?

  23. 23

    Teradataで、重複レコードが存在する場合、1つのレコードのみを更新するにはどうすればよいですか?

  24. 24

    CakePHPに重複レコードを挿入しないようにするにはどうすればよいですか?

  25. 25

    複数のジョブから重複することなく上位Xレコードを取得するにはどうすればよいですか?

  26. 26

    ページコードから重複を削除するためにサブレイアウトを作成するにはどうすればよいですか?

  27. 27

    複数のコンストラクターでコードが重複しないようにするにはどうすればよいですか?

  28. 28

    Googleドキュメントのすべての行を特定の列に重複排除するにはどうすればよいですか?

  29. 29

    Kotlinコードから重み属性を動的に設定するにはどうすればよいですか?

ホットタグ

アーカイブ