我想创建一个带有文本视图的计数器

时间:2017-07-18 05:18:25

标签: java android counter

我想创建一个带有文本视图的计数器,并希望每15次点击,更改文本视图中的文本,这就是我写的创建计数器........我有两个文本视图....一个为否。点击和另一个文本我想显示,,,,,,,,,,,所以我想使用"如果"将计数器设置为0(计数器为tvx)并将文本(tvx2)更改为"再单击15次"

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tips_2);

    btn = (Button) findViewById(R.id.bt);
    txv = (TextView) findViewById(R.id.tx);
    txv2 = (TextView) findViewById(R.id.tx2);

    btn.setOnClickListener(new View.OnClickListener() 
    {
        public int mCounter;
        public Integer tx;

        @Override
        public void onClick(View v) {
            mCounter++;
            txv.setText(Integer.toString(mCounter));
        }
    });
}

6 个答案:

答案 0 :(得分:0)

你可以这样,使用ValueAnimator

   public void animateText(Integer startValue, Integer endValue) {
        setStartValue(startValue);
        setEndValue(endValue);

        ValueAnimator animator = ValueAnimator.ofInt(startValue, endValue);
        animator.setInterpolator(getInterpolator());
        animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            public void onAnimationUpdate(ValueAnimator animation) {

                String cleanString = animation.getAnimatedValue().toString().replaceAll("[,]", "");
                BigDecimal parsed = new BigDecimal(cleanString);
                String formatted = NumberFormat.getNumberInstance(Locale.US).format(parsed);

                tv.setText(formatted);
            }
        });

        animator.setEvaluator(new TypeEvaluator<Integer>() {
            public Integer evaluate(float fraction, Integer startValue, Integer endValue) {
                return Math.round(startValue + (endValue - startValue) * fraction);
            }
        });

        animator.setDuration(getDuration());
        animator.start();
    }

答案 1 :(得分:0)

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tips_2);

    btn = (Button) findViewById(R.id.bt);
    txv = (TextView) findViewById(R.id.tx);
    txv2 = (TextView) findViewById(R.id.tx2);
    public int mCounter=0;
    public Integer tx =15;


    btn.setOnClickListener(new View.OnClickListener() {


                               @Override
                               public void onClick(View v) {
                                   mCounter++;
                                   if(mCounter==tx){
                                      txv.setText(Integer.toString(mCounter));
                                       //reset the counter after 15 click 
                                       mCounter=0
                                   }

                               }



                           }


    );


}

}

答案 2 :(得分:0)

你好试试这个可能会有帮助吗

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tips_2);

    btn = (Button) findViewById(R.id.bt);
    txv = (TextView) findViewById(R.id.tx);
    txv2 = (TextView) findViewById(R.id.tx2);


    btn.setOnClickListener(new View.OnClickListener() {
        public int mCounter=0;
        //initialize mCounter with 0
        public Integer tx;

        @Override
        public void onClick(View v) {
            if(mCounter==15){
           //check if  mCounter equals 15
                txv2.setText(Integer.toString("text to display after 15 click"));
                //reset  mCounter for another iteration 
                mCounter=0;
            }
            mCounter++;
           //increment the   mCounter  
            txv.setText(Integer.toString(mCounter));
        }
    });
}

答案 3 :(得分:0)

我真的不明白你想要什么,但如果你想每15次点击一次增加计数器,只需在你的代码中添加条件如下:

    btn.setOnClickListener(new View.OnClickListener() {
            public int mCounter;
            public Integer tx;

            @Override
            public void onClick(View v) {
                mCounter++;
                if(mCounter == 15){
                    tx++;
                    txv.setText(String.valueOf(tx));
                }
            }    
        }
    );

答案 4 :(得分:0)

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tips_2);

    btn = (Button) findViewById(R.id.bt);
    txv = (TextView) findViewById(R.id.tx);
    txv2 = (TextView) findViewById(R.id.tx2);


    btn.setOnClickListener(new View.OnClickListener() {
        public int mCounter;
        public Integer tx;
public int mCounter2;

        @Override
        public void onClick(View v) {
            mCounter++;
mCounter2++;
            txv.setText(""+mCounter);
if(mCounter2==15){
txv2.setText(""+mCounter2);
      mCounter2=0;
}


        }



    }


    );


}

答案 5 :(得分:0)

我希望你能为此服务

public class MainActivity extends AppCompatActivity {
    private Button btn;
    private TextView txv,txv2;
    private int contador = 0;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn = (Button) findViewById(R.id.bt);
        txv = (TextView) findViewById(R.id.tx);
        txv2 = (TextView) findViewById(R.id.tx2);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                  ++contador;
                if(contador <= 15){
                 txv.setText(String.valueOf(contador));
                }else{
                    txv2.setText("your text");
                }
            }
        });


    }
}