2014-04-23 145 views
0

感謝您的幫助,但我仍然掙扎。我這樣做:增加TextView與按鈕點擊

按鈕在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" /> 

代碼在main(右末):

WhenI按下按鈕的應用程序崩潰。我應該在哪裏具體編碼?

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

回答

1

在你的類創建:

 int score = 0; 

然後;

 button.setOnClickListener(new OnClickListener() { 

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

如果你需要「拯救」的分數OCNE退出應用程序,你需要使用SharedPreferences顯示/更新值。

0

我不能真正弄清楚增量TextView的意思....

可能會增加更多的textviews或增加的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(); 
     } 
    }); 


}