android – 如何从edittext中删除字符?

前端之家收集整理的这篇文章主要介绍了android – 如何从edittext中删除字符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否有任何方法可以从EditText中删除特定字符.我想通过在编辑文本中指定位置来从EditText中删除章程
是否有类似于EditText的removeAt()?
  1. public class MainActivity extends Activity {
  2.  
  3. @Override
  4. public void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_main);
  7. final Button b1=(Button)findViewById(R.id.button1);
  8. final EditText ed1=(EditText)findViewById(R.id.editText1);
  9. b1.setOnClickListener(new View.OnClickListener() {
  10.  
  11. public void onClick(View arg0) {
  12. // TODO Auto-generated method stub
  13.  
  14. //i want something like this
  15. ed1.removeAt(5);
  16. }
  17. });
  18. }
  19.  
  20. @Override
  21. public boolean onCreateOptionsMenu(Menu menu) {
  22. getMenuInflater().inflate(R.menu.activity_main,menu);
  23. return true;
  24. }
  25.  
  26.  
  27. }

额外的信息

主要问题是我想在edittext中使文本变为粗体而不是所有文本.设置粗体按钮后输入的文本(粗体是我的切换按钮).
好的,这里是代码

  1. ed1.setOnKeyListener(new OnKeyListener() {
  2.  
  3. public boolean onKey(View v,int keyCode,KeyEvent event) {
  4. // TODO Auto-generated method stub
  5. int i = 0;
  6.  
  7. switch(event.getAction())
  8. {
  9. case KeyEvent.ACTION_UP:
  10. if(bold.isChecked())
  11. {
  12. i=ed1.getSelectionStart();
  13.  
  14. ed1.append(Html.fromHtml("<b>"+ed1.getText().toString().charAt(i-1)+"</b>"));
  15.  
  16. }
  17. return true;
  18.  
  19. }
  20. return false;
  21. }
  22. });

问题是,我得到双字符的一个是普通字符,然后再加粗字体,所以我想通过指定位置删除正常字符

解决方法

您必须先将其更改为字符串,因为getText会返回可编辑的内容,例如:
  1. int charIndex;
  2. String text = ed1.getText().toString();
  3. text = text.substring(0,charIndex) + text.substring(charIndex+1);
  4. ed1.setText(text);

删除角色并保持BOLD字符相同:

  1. ed1.setText((Spanned)ed1.getText().delete(indexStart,indexEnd));

这将从索引“indexStart”删除字符到“indexEnd -1”.
例如如果你使用删除(0,1);它会删除第一个字符.

我希望有帮助:)

猜你在找的Android相关文章