我在使用代码中的值时遇到错误。它说无法解析符号setText。
protected void showRecords() {
if(c!=null && c.moveToFirst()){
do{
String Starter = c.getString(1);
Starter.setText=c.getString(1);
String MainCourse = c.getString(1);
MainCource.setText(MainCourse);
String Dessert = c.getString(1);
Dessert.setText=c.getString(1);
}while(c.moveToNext());
}
答案 0 :(得分:0)
如果Starter
是一个字符串,那么您将直接分配给它:
Starter = c.getString(1);
此外,您应遵循Java命名约定。变量不应以大写字母开头,以便将它们与Type区分开来。所以你应该这样声明:
String starter = c.getString(1);
一旦你这样做了。没有理由在上面调用setText()。除非您有一些要设置值的组件(不是字符串)。
答案 1 :(得分:0)
好吧,我发现你没有得到我们的建议。所以让我一步一步解释。这是你的代码:
String Starter = c.getString(1);
Starter.setText=c.getString(1);
String MainCourse = c.getString(1);
MainCource.setText(MainCourse);
String Dessert = c.getString(1);
Dessert.setText=c.getString(1);
这些行错了:
Starter.setText=c.getString(1);
MainCource.setText(MainCourse);
Dessert.setText=c.getString(1);
Starter
,MainCourse
和Dessert
是String
类型的对象。字符串是文本,您无法在文本上设置文本。我想,您要做的是在TextView
上设置文字。
所以你需要的是TextView
。这必须在您的布局xml文件中。例如,它看起来像这样:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/dessertView"/>
然后,在您的活动中,您必须创建一个全局对象:
private TextView mDessertTextView;
在onCreate()
中初始化它:
mDessertTextView = (TextView)findViewById(R.id.dessertView);
然后你像在这里一样检索文本:
String Dessert = c.getString(1);
此字符串名为Dessert
,您必须设置为TextView
:
mDessertView.setText(Dessert);
这就是它的工作方式。你真的需要一些编程基础,你应该从零开始: