Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Type mismatch: cannot convert from String to R.string

I am new so forgive my primitive question, I am really not getting this. I am simply creating this array on my main activity while doing a tutorial and I get an error

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);


}

and the error on my string array is :

Multiple markers at this line - Line breakpoint:ReminderListActivity [line: 14] - onCreate(Bundle)

- Type mismatch: cannot convert from String to R.string

what's exactly happening here?

like image 672
TrackmeifYouCan Avatar asked Jul 04 '26 12:07

TrackmeifYouCan


2 Answers

Easy fix, the String type needs to be capitalized.

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

Becomes:

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

@gt_ebuddy is right as well, remove this line:

import android.R.string;

Using Ctrl+Shift+O is the simplest way to import classes automatically, but it sometimes leads you astray when it tries to import anything from your package's R file.

like image 120
Sam Avatar answered Jul 06 '26 01:07

Sam


Remove the import. and be happy.

import android.R.string;

And note that

  • It should be String. Not string
  • String class is defined in package java.lang and you will never require to import this package because they are automatically imported into every java program. Java Doc says "Package java.lang : Provides classes that are fundamental to the design of the Java programming language."
like image 37
gtiwari333 Avatar answered Jul 06 '26 01:07

gtiwari333



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!