使用findViewById()和TextView编译错误

时间:2014-12-05 06:46:49

标签: android

此代码来自我正在学习的示例:

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);        
        TextView hello =(TextView} findViewById(R.id.hello);
        hello.setText("on your bike!");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {

            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

这是我正在跟随的学习项目示例。代码与示例完全匹配,但是,它不断给我一些错误消息。 我有两个问题。首先在“TextView hello =(TextView} findViewById(R.id.hello);”行上(TextView)出现编译错误,我得到的错误描述是“TextView无法解析为变量”。我已经查看了一些使用非常相似代码的情况的其他示例。我所看到的一切都说它应该有效。我真的错过了什么吗? 其次,在同一行中,我得到另一个错误。对于“findViewById”部分,它给出了以下编译错误“缺少方法的返回类型”。我再次对这个问题进行了研究,这似乎很常见,然而,问题的答案似乎也适用于不同个人的结果。一个例子是使用“getActivity().findViewById(R.id.hello)”和“getView().findViewById(R.id.hello)”。这些方法都不适合我。如果这里有一部分我不在,我不知道它是什么。现在,我知道还有其他方法可以做thiis,据说,因为我被告知你可以这样做,我想知道如何让它工作以扩展我的知识低音。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

请看:(TextView}

使用(TextView)

更改为:)