我想将TextView显示为可编辑的应用程序“Google Keep”,但
EditText text = (EditText)findViewById(R.id.edittext);
String value = text.getText().toString();
无效
答案 0 :(得分:5)
你好我已经做了一个我认为你可以使用的例子:
布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textColor="#FF0000"
android:text="@string/hello_world" />
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/getInfoButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="GET INFO"
android:layout_gravity="center_horizontal"
/>
</LinearLayout>
MainActivity
package com.example.testedittext;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView info;
private EditText input;
private Button getInfo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
info = (TextView) findViewById(R.id.textView);
input = (EditText)findViewById(R.id.editText);
getInfo = (Button)findViewById(R.id.getInfoButton);
getInfo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String inputText = input.getText().toString();
info.setText(inputText);
}
});
}
}
这是输出:
希望这有帮助, 干杯
答案 1 :(得分:3)
这是以编辑文本的字符串格式获取文本的正确语法。
String“value”的值现在实际上是“”,因为你调用了
text.getText().toString();
在实例化EditText文本之后立即。你可以想象,它创建的那一刻,里面没有文字,所以这就是为什么“value”有一个空字符串。
如果您想在特定的电话中检索edittext的值,我建议您在xml布局中添加一个按钮,并在您的代码中添加:
Button button = (Button) findViewById(R.id.somebutton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text.getText().toString();
}
});
当您单击按钮时,这将获取edittext的当前String值。
答案 2 :(得分:0)
你必须在其他地方使用值String,它会告诉你它没有被使用。 然后,您必须在您进行更改以设置该ediettext的值的时间点使用该段代码。