Java 如何在android中设置文本或向多行EditText中的特定行添加文本?
我想在android中设置文本或将文本添加到EditText的特定行中?有什么办法吗 据我所知,Java 如何在android中设置文本或向多行EditText中的特定行添加文本?,java,android,Java,Android,我想在android中设置文本或将文本添加到EditText的特定行中?有什么办法吗 据我所知,setText将覆盖整个文本,append将在末尾添加文本,我想做什么有什么具体的方法吗 我知道如何阅读和获取特定行中的文本,但如何在不干扰其上下其他行的情况下对该文本进行更改 1)使用EditText#getText()从EditText获取EditText 2) 对上一步中得到的可编辑进行修改 Editable有一个方法insert(int-where,CharSequence-text)-使用它
setText
将覆盖整个文本,append
将在末尾添加文本,我想做什么有什么具体的方法吗
我知道如何阅读和获取特定行中的文本,但如何在不干扰其上下其他行的情况下对该文本进行更改 1)使用EditText#getText()从EditText
获取EditText
代码>
2) 对上一步中得到的可编辑
进行修改
Editable
有一个方法insert(int-where,CharSequence-text)
-使用它可以在需要的地方插入
3) 使用EditText#setText()将其设置回EditText
代码>(将整个修改的可编辑的设置回)
如果您想知道在收到的可编辑的中哪里有行尾符号,请在其中搜索新行字符aka'\n',然后使用此位置在'\n'
后插入某些内容,如果您想在由EditText对齐的特定行中插入,则需要进入“对齐引擎”关于EditText
,我不知道它的详细工作原理,因此如果您想这样做,您需要阅读源代码。1)使用EditText#getText()从EditText
获取EditText
代码>
2) 对上一步中得到的可编辑
进行修改
Editable
有一个方法insert(int-where,CharSequence-text)
-使用它可以在需要的地方插入
3) 使用EditText#setText()将其设置回EditText
代码>(将整个修改的可编辑的设置回)
如果您想知道在收到的可编辑的中哪里有行尾符号,请在其中搜索新行字符aka'\n',然后使用此位置在'\n'
后插入某些内容,如果您想在由EditText对齐的特定行中插入,则需要进入“对齐引擎”对于EditText
,我不知道它是如何工作的,因此如果您想这样做,您需要阅读源代码。最有可能的是多行文本将由换行符分隔,下面的代码将为您提供一个说明
public class EditTextExample extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edtittext_example);
Button button = (Button) findViewById(R.id.m_button);
button.setOnClickListener(btnListener);
}
//button listener
private OnClickListener btnListener = new OnClickListener() {
public void onClick (View view) {
EditText etMultiLinetext = (EditText) findViewById(R.id.etMultiLineText);
String str = etMultiLinetext.getText().toString();
Toast.makeText(getBaseContext(), str, Toast.LENGTH_LONG).show();
TextView tvMultiLineText = (TextView) findViewById(R.id.tvMultiLineText);
String[] strArr = str.split(System.getProperty("line.separator"));
for (int i = 0; i < strArr.length; i++) {
Log.e("String value", "String value" + strArr[i]);
}
tvMultiLineText.setText(str);
}
};
}
public类EditTextExample扩展活动{
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u edtitext\u示例);
按钮按钮=(按钮)findViewById(R.id.m_按钮);
setOnClickListener(btnListener);
}
//按钮侦听器
私有OnClickListener btnListener=新OnClickListener(){
公共void onClick(视图){
EditText etMultiLinetext=(EditText)findViewById(R.id.etMultiLinetext);
字符串str=etmultilitext.getText().toString();
Toast.makeText(getBaseContext(),str,Toast.LENGTH_LONG.show();
TextView tVMultileText=(TextView)findViewById(R.id.tVMultileText);
字符串[]strArr=str.split(System.getProperty(“line.separator”);
对于(int i=0;i
如果你想在编辑文本中添加内容,你可以通过获取EditText
值来添加内容,并附加你需要的字符串,你可以像下面那样设置它
etMultiLine.setText(“编辑文本”)代码>最有可能的是多行文本将由换行符分隔,下面的代码将为您提供一个说明
public class EditTextExample extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edtittext_example);
Button button = (Button) findViewById(R.id.m_button);
button.setOnClickListener(btnListener);
}
//button listener
private OnClickListener btnListener = new OnClickListener() {
public void onClick (View view) {
EditText etMultiLinetext = (EditText) findViewById(R.id.etMultiLineText);
String str = etMultiLinetext.getText().toString();
Toast.makeText(getBaseContext(), str, Toast.LENGTH_LONG).show();
TextView tvMultiLineText = (TextView) findViewById(R.id.tvMultiLineText);
String[] strArr = str.split(System.getProperty("line.separator"));
for (int i = 0; i < strArr.length; i++) {
Log.e("String value", "String value" + strArr[i]);
}
tvMultiLineText.setText(str);
}
};
}
public类EditTextExample扩展活动{
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u edtitext\u示例);
按钮按钮=(按钮)findViewById(R.id.m_按钮);
setOnClickListener(btnListener);
}
//按钮侦听器
私有OnClickListener btnListener=新OnClickListener(){
公共void onClick(视图){
EditText etMultiLinetext=(EditText)findViewById(R.id.etMultiLinetext);
字符串str=etmultilitext.getText().toString();
Toast.makeText(getBaseContext(),str,Toast.LENGTH_LONG.show();
TextView tVMultileText=(TextView)findViewById(R.id.tVMultileText);
字符串[]strArr=str.split(System.getProperty(“line.separator”);
对于(int i=0;i
如果你想在编辑文本中添加内容,你可以通过获取EditText
值来添加内容,并附加你需要的字符串,你可以像下面那样设置它
etMultiLine.setText(“编辑文本”)代码>您应该尝试使用此类型代码
EditText edt_Text= new EditText(this);
edt_Text.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
edt_Text.setText("Hi how you");
lnrImageButton.addView(edt_Text);
并设置按钮onClick以添加所需的新字符
menu1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
edt_Text.getText().insert(6, "are");
}
});
此代码用于特定的字符库
现在您应该使用此方法从字符中查找行并插入文本
我希望这将对您有所帮助。您应该尝试使用此类型代码
EditText edt_Text= new EditText(this);
edt_Text.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
edt_Text.setText("Hi how you");
lnrImageButton.addView(edt_Text);
并设置按钮onClick以添加所需的新字符
menu1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
edt_Text.getText().insert(6, "are");
}
});
此代码用于特定的字符库
现在您应该使用此方法从字符中查找行并插入文本
我希望这会对你有所帮助。问题是如何让它倒退。如果我使用setText,它将覆盖整个editText,如果我使用append,那么它将只添加到末尾,我想知道如何设置或添加文本到多行的特定行edittext@Krzyszto