1

以下のコードで、このトーストをスナックバーに置き換えたいと思います。さまざまな構成を試してみましたが、近い結果が得られましたが、最高の構成では受け入れLENGTH_SHORTられません。

Snackbar コードを配置する場所と、おそらくLENGTH_SHORT受け入れられない理由を誰か説明できますか?

    private void addListenerOnButton_ADD() {
    btnAdd.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            if(ETinput.getText().length()==0){
                Toast.makeText(MainActivity.this,"Enter a Value",Toast.LENGTH_SHORT).show();
                // REMOVE THIS Toast and insert Snackbar
                //======================================
                return;
            }
                    ......

        }
    });
}

ここに編集があります

    private void addListenerOnButton_ADD(final AlteredCharSequence Snackbar) {
    btnAdd.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            if(ETinput.getText().length()==0){
                Toast.makeText(MainActivity.this,"Enter a Value",Toast.LENGTH_SHORT).show();
                // REMOVE THIS Toast and insert Snackbar
                //======================================
                Snackbar.make(findViewById(android.R.id.content), "Had a snack at Snackbar", Snackbar.LENGTH_LONG)
                        .setActionTextColor( Color.RED)
                        .show();
                return;
            }

            int Y = Integer.valueOf(ETinput.getText().toString().trim());
            int Z = Y + X;
            ETans.setText(String.valueOf(Z));

            //float Y = Float.valueOf(ETinput.getText().toString().trim());
            //float Z = Y + X;
            //ETans.setText(String.valueOf(Z));
        }
    });
}
4

2 に答える 2

2

viewfromをメソッドsetOnClickListenerの最初のパラメーターとして使用します。Snackbar.make

private void addListenerOnButton_ADD(final AlteredCharSequence Snackbar) {
    btnAdd.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            if(ETinput.getText().length()==0){
                Snackbar.make(view, "Enter a Value", Snackbar.LENGTH_SHORT).setAction("Action", null).show();
                return;
            }

            int Y = Integer.valueOf(ETinput.getText().toString().trim());
            int Z = Y + X;
            ETans.setText(String.valueOf(Z));

            //float Y = Float.valueOf(ETinput.getText().toString().trim());
            //float Z = Y + X;
            //ETans.setText(String.valueOf(Z));
        }
    });
}
于 2016-08-22T20:36:20.847 に答える
0

これを使って

Snackbar snackbar;

btnAdd.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            snackbar = Snackbar.make(view, "Enter a Value", Snackbar.LENGTH_LONG);
            if(ETinput.getText().length()==0){



    snackbar.show();

  return;
            }
                    ......

        }
    });
}

Snackbar.LENGTH_INDEFINITE期間をINDEFINITEにしたい場合はcanを使用し、却下したい場合は使用するだけですsnackbar.dismiss();

于 2016-08-22T17:30:01.293 に答える