繁体   English   中英

我想用文本视图创建一个计数器

[英]i want to create a counter with a text view

我想创建一个带有文本视图的计数器,并希望每15次单击即可更改文本视图中的文本,这就是我为创建计数器而写的内容........我有两个文本视图。 ...一个没有 的点击次数和另一个要显示的文字,我想使用“ if”将计数器设置为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));
        }
    });
}

你可以这样,使用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次点击增加一次计数器,只需在代码中添加条件代码,如下所示:

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


    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM