单击按钮增加TextView

时间:2014-04-23 20:50:09

标签: android

感谢您的帮助,但我仍在努力。我这样做了:

xml中的按钮:

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="43dp"
    android:background="@android:color/white"
    android:onClick="incrementScore"
    android:text="@string/player" />

主要代码(右边):

当我按下按钮时,应用程序崩溃。我应该特别把这段代码放在哪里?

Context context;    
TextView tv;
Button incrementer;

public void incrementScore(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_home);
    tv=(TextView)findViewById(R.id.textView1);
    incrementer=(Button)findViewById(R.id.button1);

    context=this;

    incrementer.setOnClickListener(new View.OnClickListener() 
    {

        @Override
        public void onClick(View v) 
        {
            String present_value_string = tv.getText().toString();
            int present_value_int = Integer.parseInt(present_value_string);
            present_value_int++;

            tv.setText(String.valueOf(present_value_int));
        }
    });
}

2 个答案:

答案 0 :(得分:1)

在你的班级中创建:

       int score = 0;

然后;

       button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // score operation like score += increment_value;
                t1.setText(""+score);
            }
        });

如果您需要&#34;保存&#34;在退出应用程序时,您需要使用SharedPreferences来显示/更新值。

答案 1 :(得分:0)

我实际上无法弄清楚textview的增量含义......

可能会在textview中添加更多textview或增加值。我稍后会去。

Context context;
TextView tv;
Button increamenter;
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
   setContentView(R.layout.my_layout);
   tv=(TextView)findViewById(R.id.textView1);
   incrementer=(Button)findViewById(R.id.button1);

    context=this;

   incrementer.setOnClickListener(new View.OnClickListener(){

        try
        {
            String presentValStr=tv.getText().toString();
            int presentIntVal=Integer.parseInt(presentValStr);
            presentIntVal++;
            tv.setText(String.valueOf(presentIntVal));
         }
         catch(Exception e)
         {
             e.printStackTrace();
             Toast.makeText(context,"Some error :(",2000).show();
         }
   });


}