R.string.close,close не может быть разрешен или не является полем

Я делаю свой первый учебник по Android, но застрял в этой ошибке, описанной в названии... это приложение, которое я пытаюсь сделать на Eclipse, Java, вот мой код..(код автоматически создается проектом)

package com.HelloWorkLight;
import android.R;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;

import org.apache.cordova.CordovaActivity;``

import com.worklight.androidgap.api.WL;
import com.worklight.androidgap.api.WLInitWebFrameworkResult;
import com.worklight.androidgap.api.WLInitWebFrameworkListener;

public class HelloWorkLight extends CordovaActivity implements      WLInitWebFrameworkListener {

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    WL.createInstance(this);

    WL.getInstance().showSplashScreen(this);

    WL.getInstance().initializeWebFramework(getApplicationContext(), this);

}

/**
 * The IBM MobileFirst Platform calls this method after its initialization is complete and web resources are ready to be used.
 */
public void onInitWebFrameworkComplete(WLInitWebFrameworkResult result){
    if (result.getStatusCode() == WLInitWebFrameworkResult.SUCCESS) {
        super.loadUrl(WL.getInstance().getMainHtmlFilePath());
    } else {
        handleWebFrameworkInitFailure(result);
    }
}

private void handleWebFrameworkInitFailure(WLInitWebFrameworkResult result){
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
    alertDialogBuilder.setNegativeButton(R.string.close, new OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which){
            finish();
        }
    });

    alertDialogBuilder.setTitle(R.string.error);
    alertDialogBuilder.setMessage(result.getMessage());
    alertDialogBuilder.setCancelable(false).create().show();
}
}

заранее спасибо:)

1 ответ

Проверьте файл values/strings.xml чтобы увидеть, если есть строка с этим именем. В противном случае вы можете добавить его:

<string name="close">Close</string>

Вы также можете попробовать Cancel вместо Close, так как это общая практика.

Если это не ваша проблема, обычно проблема в этих случаях import android.R, Попробуйте удалить его и сделать чистую сборку вашего проекта.

Примечание. При использовании стандартных строк убедитесь, что вы используете их полное имя, чтобы избежать возможных проблем: android.R.string.no, например.

Если файлы классов не находятся в корневом пакете, вы импортируете R как это: my.packagename.R

Другие вопросы по тегам