单击按钮更改文本

时间:2015-10-12 18:42:16

标签: android

我创建了一个小项目,点击按钮后文本会发生变化。但是我遇到了一些问题:

我的xml文件代码是

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Greetings appear here..."
        android:id="@+id/greetings_text_view"
        />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Show Greetings"
        android:layout_below="@id/greetings_text_view"
        android:onClick="showGreetings"/>

我的java代码是

 TextView textview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); //connects java file with xml layout


        textview = (TextView).findViewById(R.id.greetings_text_view);
    }


    public void showGreetings ( View view) //creates method,  view is argument
    {
        String message="Welcome to first app";
        textview.setText(message);
    }

当我运行代码时,我收到此错误:

Error:(20, 20) error: illegal start of type
Error:(20, 30) error: non-static method findViewById(int) cannot be referenced from a static context
Error:(20, 43) error: incompatible types: View cannot be converted to TextView

有谁能告诉我哪里出错了?

1 个答案:

答案 0 :(得分:2)

这是一个小问题(看起来无意)。执行base.html时,编译器认为您正在尝试调用类(TextView).findViewById(R.id.greetings_text_view)的静态函数findViewById,这就是它抱怨的原因

替换

TextView

由此

textview = (TextView).findViewById(R.id.greetings_text_view);