2

我是新手,所以请原谅我的原始问题,我真的不明白。我只是在做教程时在我的主要活动上创建这个数组,我得到一个错误

package com.TaskReminder;

import android.R.string;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class ReminderListActivity extends ListActivity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.reminder_list);
    string[] items = new string[]{"aa","bb"};
    ArrayAdapter<string> adapter = new ArrayAdapter<string>(this,R.layout.reminder_row,R.id.text1,items);
    setListAdapter(adapter);


}

我的字符串数组上的错误是:

此行有多个标记 - 行断点:ReminderListActivity [line: 14] - onCreate(Bundle)

- 类型不匹配:无法从 String 转换为 R.string

这里到底发生了什么?

4

4 回答 4

6

容易修复,String 类型需要大写。

string[] items = new string[]{"aa","bb"};
ArrayAdapter<string> adapter = new ArrayAdapter<string>(this,R.layout.reminder_row,R.id.text1,items);

变成:

String[] items = new String[]{"aa","bb"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.reminder_row,R.id.text1,items);

@gt_ebuddy 也是正确的,删除​​这一行:

导入 android.R.string;

使用Ctrl++ShiftO自动导入类的最简单方法,但是当它尝试从包的 R 文件中导入任何内容时,它有时会导致您误入歧途。

于 2012-05-30T07:53:10.773 回答
4

删除导入。而且要快乐。

import android.R.string;

请注意

  • 应该是String。不是string
  • String类是在包中定义的java.lang,你永远不需要导入这个包,因为它们会自动导入到每个 java 程序中。Java 文档"Package java.lang : Provides classes that are fundamental to the design of the Java programming language."
于 2012-05-30T07:53:44.863 回答
1

删除import android.R.string;. 我猜你已经这样做了,因为该行字符串上显示的错误应该在你的R.java文件中它是自动生成的,不要修改它清理你的项目并再次构建希望它有效!!!!

于 2012-05-30T07:55:11.413 回答
0
string[] items = new string[]{"aa","bb"};
ArrayAdapter<string> adapter = new ArrayAdapter<string>(this,R.layout.reminder_row,R.id.text1,items);

将其更改为

String[] items = new String[]{"aa","bb"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.reminder_row,R.id.text1,items)
于 2012-05-30T07:54:17.053 回答