2014-06-30 87 views
0

在我的應用程序中,我想統計edittext中的章程數量,並且在字符數達到極限後,計數器應該再次以140開頭,我想以「140/1」的格式顯示,在字符限制達到0之後,再次用140表示,但是用1表示增加1,並顯示爲「140/2」。我可以做任何建議。 ??如何計算文字中的字符

edMessage.addTextChangedListener(new TextWatcher() { 

      public void onTextChanged(CharSequence s, int start, int before, int count) { 
       // TODO Auto-generated method stub 

      } 

      public void beforeTextChanged(CharSequence s, int start, int count, 
        int after) { 
       // TODO Auto-generated method stub 

      } 

      public void afterTextChanged(Editable s) { 

       // Display Remaining Character with respective color 
       count = MAX_COUNT - s.length(); 
       Word_counter.setText(Integer.toString(count) + "/" + Integer.toString(word) ); 

       Word_counter.setTextColor(Color.BLACK); 
       if(count < 10) 
       { 
        Word_counter.setTextColor(Color.YELLOW); 
       } 


      } 
     }); 

回答

0

試試這個辦法,希望這將幫助你解決你的問題。

activity_main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center"> 

    <EditText 
     android:id="@+id/editText" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="wrap_content"/> 

    <TextView 
     android:id="@+id/textView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="5dp"/> 

</LinearLayout> 

MainActivity.java

public class MainActivity extends Activity { 

    private EditText editText; 
    private TextView textView; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     editText = (EditText) findViewById(R.id.editText); 
     textView = (TextView) findViewById(R.id.textView); 

     editText.addTextChangedListener(new TextWatcher() { 
      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

      } 

      @Override 
      public void onTextChanged(CharSequence s, int start, int before, int count) { 
      } 

      @Override 
      public void afterTextChanged(Editable s) { 

       if(s.length()/140 == 0){ 
        textView.setText("140"); 
       }else{ 
        textView.setText("140/"+String.valueOf((s.length()/140)+1)); 
       } 
      } 
     }); 

    } 
} 
+0

@ Haresh我希望它顯示爲140/1時s.length()== 140,用戶可以再次鍵入,但顯示爲140/2,這裏140是他可以在一條消息中鍵入的字符數。 – user3683036

+0

@ user3683036,能否請你在我的代碼中更具體地解釋我,我在140後不顯示字符計數用戶類型,他不能輸入更多的字符。 –

+0

是的,但我想在140個字符後,用戶可以輸入但是和s.length再次開始140計數..和吐司出現,告訴他,第二味精已經開始 – user3683036