2013-10-25 38 views
-1

我想增加點擊鄰接處的文本的值。但是,我想增加一定的價值。我的初始值是250,每次點擊按鈕時我想將文本值增加250。如何增加點擊按鈕上的文本值?

我已經爲它寫了邏輯,但值增加了一個。

這是相關代碼:

public class SelectCartListViewAdapter extends BaseAdapter{ 
    private Context mcontext; 

    private static int counter = 250; 
    private String stringVal; 

    public SelectCartListViewAdapter(Context c){ 
     mcontext = c; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     //... some other code 

     button.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Log.d("src", "Increasing value..."); 
       counter++; 
       stringVal = Integer.toString(counter); 
       tv1.setText(stringVal); 
      } 
     }); 

     //...some other code 

     return myView; 
    } 
} 
+0

不包括未實現的方法,樣板TODO註釋,或代碼,被註釋掉並沒有直接關係。甚至不要包含與您要求的內容無關的代碼。也請負責任地格式化您的代碼。 –

回答

0

那是因爲你已經使用了增量運營商這裏,

counter++; 

增量運營商將僅由一個增加值。

應該是這樣的,

counter= counter+actualValue; 
+0

感謝它的工作:) – user2903521

+0

我使用的是listview。在每一行我有Button和textview.And當我增加一行的值。當我去另一行它採取以前的行值並增加。爲什麼它的發生?我應該添加什麼? – user2903521

-1

替換下面的代碼片段代碼的一部分。

ImageButton button = (ImageButton)myView.findViewById(R.id.addbutton); 
     button.setOnClickListener(new OnClickListener() { 

      //private int _counter; 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 


       //Toast.makeText(mcontext,"Button is clicked",Toast.LENGTH_SHORT).show(); 
       Log.d("src", "Increasing value..."); 
       counter+=250; 
        stringVal = Integer.toString(counter); 
        tv1.setText(stringVal); 


//    int value = (Integer.parseInt((String) tv1.getText()))+250; 
//    tv1.setText(value); 

      } 
     }); 
+0

謝謝..它的作品:) – user2903521

+0

我使用listview。在每一行中,我有Button和textview.And當我增加一行的價值。而當我要去另一行它採取以前的行值和增加。爲什麼它發生了什麼?..我應該補充什麼。 – user2903521

+0

高興地幫助你。請接受答案 –

1

試試這個

int counter=0, staticCounter=250; 

@Override 
      public void onClick(View v) { 
      counter= counter+staticCounter; 

        tv1.setText(String.valueOf(counter)); 
}