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

i want to create a counter with a text view

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

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

你可以这样,使用 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();
    }
    @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
                                   }

                               }



                           }


    );


}

}

你好试试这个如果它可能有帮助

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

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

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


        }



    }


    );


}

我希望和你服务这个

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


    }
}