gpt4 book ai didi

android - 如何从编辑文本中删除字符?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:31:10 25 4
gpt4 key购买 nike

我想知道有什么方法可以从 EditText 中删除特定字符。我想通过在编辑文本中指定位置来从 EditText 中删除章程EditText 有类似removeAt() 的东西吗?

    public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button b1=(Button)findViewById(R.id.button1);
final EditText ed1=(EditText)findViewById(R.id.editText1);
b1.setOnClickListener(new View.OnClickListener() {

public void onClick(View arg0) {
// TODO Auto-generated method stub

//i want something like this
ed1.removeAt(5);
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}


}

额外信息

主要问题是我想在 edittext 中将文本加粗,但不是所有文本。设置粗体按钮后键入的文本(粗体是我的切换按钮)。好的,这是代码

     ed1.setOnKeyListener(new OnKeyListener() {

public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
int i = 0;

switch(event.getAction())
{
case KeyEvent.ACTION_UP:
if(bold.isChecked())
{
i=ed1.getSelectionStart();

ed1.append(Html.fromHtml("<b>"+ed1.getText().toString().charAt(i-1)+"</b>"));

}
return true;

}
return false;
}
});

问题是我得到双字符,其中一个是普通字符,然后又是粗体字符,所以我想通过指定位置来删除普通字符

最佳答案

您必须先将其更改为字符串,因为 getText 返回可编辑的,例如:

int charIndex;
String text = ed1.getText().toString();
text = text.substring(0, charIndex) + text.substring(charIndex+1);
ed1.setText(text);

删除字符并保持粗体字符相同:

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

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

希望对您有所帮助:)

关于android - 如何从编辑文本中删除字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11905564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com