我正在尝试设置textView的文本,但是,每当我这样做时,会弹出一个错误

时间:2016-02-19 05:33:49

标签: java android android-edittext textview

我有一个textView,但是当我尝试将它的值设置为EditText时,它表示textView是最终的。当我将其更改为不是最终时,会发生错误,指出textView需要一个int。为什么要这样做,我怎样才能改变它以便它将接收EditText中的文本?这是我尝试为textView设置值的类的代码:

public class MainScreen extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_screen);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
        }
    });
    R.id.textView12 = R.id.editText3;
}
}

以下是创建textView的xml活动:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.kalyannath.cancerapp.cancerapp20.MainScreen"
tools:showIn="@layout/activity_main_screen">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="User Control Panel"
    android:id="@+id/textView4"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Your Cancer:"
    android:id="@+id/textView11"
    android:layout_below="@+id/textView4"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="54dp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Small Text"
    android:id="@+id/textView12"
    android:layout_below="@+id/textView11"
    android:layout_centerHorizontal="true"
    android:editable="true"
    android:enabled="false"
    android:inputType="text" />

</RelativeLayout>

以下是EditText所在的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.kalyannath.cancerapp.cancerapp20.GetInformation"
tools:showIn="@layout/activity_get_information">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Please fill out the information below"
    android:id="@+id/textView5"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Which type of cancer do you have?"
    android:id="@+id/textView6"
    android:layout_below="@+id/textView5"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="47dp" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/editText3"
    android:layout_below="@+id/textView6"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="What is your age?"
    android:id="@+id/textView7"
    android:layout_below="@+id/editText3"
    android:layout_centerHorizontal="true" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/editText4"
    android:layout_below="@+id/textView7"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Male or female?"
    android:id="@+id/textView8"
    android:layout_below="@+id/editText4"
    android:layout_centerHorizontal="true" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/editText5"
    android:layout_below="@+id/textView8"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Which stage?"
    android:id="@+id/textView9"
    android:layout_below="@+id/editText5"
    android:layout_centerHorizontal="true" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/editText6"
    android:layout_below="@+id/textView9"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Which receptor does your cancer act on? You mau need to ask your doctor"
    android:id="@+id/textView10"
    android:layout_below="@+id/editText6"
    android:layout_centerHorizontal="true" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/editText7"
    android:layout_below="@+id/textView10"
    android:layout_centerHorizontal="true" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Submit"
    android:id="@+id/button3"
    android:layout_below="@+id/editText7"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="59dp" />
</RelativeLayout>

发生了什么事?谢谢!

4 个答案:

答案 0 :(得分:0)

R.id.textView12 = R.id.editText3;

如果您在TextView中设置EditText的文本,那就错了。

要在TextView中设置文本,您必须使用setText()方法。

示例;

//Refering to you edit text
EditText editText = (EditText) findViewById(R.id.editText3);
//Refering to you TextView
TextView textView = (TextView) findViewById(R.id.textView12);

//getting text from edit text
String editTextString = editText.getText();
//setting text to TextView
textView.setText(editTextString);

试试这个,这样可行。 我建议你学习android / java编程的基础知识。

答案 1 :(得分:0)

Textview textView12=(TextView)findviewbyid(R.id.textView12);

EditText editText3=(EditText)findviewbyid(R.id.editText3);

这是你的答案

String text=textView12.getText().toString();

editText3.setText(text);

editText3.setText(textView12.getText().toString());

我希望这能解决你的问题

答案 2 :(得分:0)

而不是

R.id.textView12 = R.id.editText3;

使用

Textview tv =(TextView)findviewbyid(R.id.textView12); 
EditText et =(EditText) findviewbyid(R.id.editText3);

将edittext的内容设置为textview使用

tv.setText(et.getText().toString());

这可能会帮助你......

答案 3 :(得分:0)

原因

你错误地做了一组文字

 R.id.textView12 = R.id.editText3;

这是试图操纵Android应用程序中的ID,

的QuickFix

改为使用:

textView.setText(editTextString);