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

时间:2012-05-30 07:50:57

标签: java android string

我是新人,请原谅我的原始问题,我真的没有得到这个。我只是在我的主要活动上创建这个数组,同时做一个教程,我得到一个错误

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(捆绑)

     

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

这里到底发生了什么?

4 个答案:

答案 0 :(得分: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 + Shift + O 是自动导入类的最简单方法,但有时会在尝试导入时误导您你的包的R文件中的任何内容。

答案 1 :(得分:4)

删除导入。并且快乐。

import android.R.string;

请注意

  • 应为String。不是string
  • String类在包java.lang中定义,您永远不需要导入此包,因为它们会自动导入到每个java程序中。 Java Doc "Package java.lang : Provides classes that are fundamental to the design of the Java programming language."

答案 2 :(得分:1)

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

答案 3 :(得分: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)