簡體   English   中英

無法訪問變量-android.content.res.Resources $ NotFoundException:字符串資源ID

[英]Can't get access to variables - android.content.res.Resources$NotFoundException: String resource ID

當我嘗試訪問一些變量時,通過執行以下操作會出現錯誤:

new ProductAction(ProductAction.ACTION_PURCHASE)
or
Resources.getSystem().getString(R.string.TransactionAffiliation)

錯誤:

android.content.res.Resources$NotFoundException: String resource ID

在更換計算機(移動項目)並創建文件夾以通過在其中放置文件來結構化項目之前,該程序完美地工作了,但是在進行這些更改之后,我得到了此錯誤。 是由於移動文件夾中的文件而導致此錯誤?

完整錯誤:

08-16 08:59:28.928    5087-5252/fr.solutis.solutis E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
    Process: fr.solutis.solutis, PID: 5087
    java.lang.RuntimeException: An error occured while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:300)
            at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
            at java.util.concurrent.FutureTask.run(FutureTask.java:242)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)
     Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x7f08003a
            at android.content.res.Resources.getText(Resources.java:244)
            at android.content.res.Resources.getString(Resources.java:330)
            at fr.solutis.solutis.helpers.GoogleAnalytics.envoieTracker(GoogleAnalytics.java:38)
            at fr.solutis.solutis.DemandeGratuite$AsyncSoapCall.doInBackground(DemandeGratuite.java:1935)
            at fr.solutis.solutis.DemandeGratuite$AsyncSoapCall.doInBackground(DemandeGratuite.java:1924)
            at android.os.AsyncTask$2.call(AsyncTask.java:288)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)

AsyncTask:

private class AsyncSoapCall extends AsyncTask<Void, Void, Void> {
    @Override
    protected Void doInBackground(Void... params) {
        SOAP soap = new SOAP();
        //soap.envoieDemande("SendLead", xml);

        Reponse ret = soap.envoieDemande("SendLead", xml);
        System.out.println(ret.getCode() + ret.getMessage() + ret.getOption());

        if (ret.getCode().equals("1")) {
            GoogleAnalytics ga= new GoogleAnalytics(getActivity());
            ga.envoieTracker(idApplication, demandeId, logement, typeForm);
        }
        return null;
    }

helpers / GoogleAnalytics.java:

private Context context;
public GoogleAnalytics(Context context) {
    this.context = context;
}


public void envoieTracker(String idApplication, int demandeId, String logement, String typeForm){

    DatabaseHandler db = new DatabaseHandler(context);

    String id = idApplication + demandeId;

    //if (code.equals("1")) {
        db.updateStatutDateEnvoie(demandeId);
        Product product = new Product()
                .setId(id)
                .setName(logement)
                .setCategory(typeForm)
                .setBrand("")
                .setVariant("")
                .setPrice(1)
                .setCouponCode("")
                .setQuantity(1);
        ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE)
                .setTransactionId(id)
                .setTransactionAffiliation(Resources.getSystem().getString(R.string.TransactionAffiliation))
                .setTransactionRevenue(1)
                .setTransactionTax(0)
                .setTransactionShipping(0)
                .setTransactionCouponCode("");
        HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
                .addProduct(product)
                .setProductAction(productAction);

        App app = new App();
        Tracker t = app.getTracker();
        t.setScreenName("Demande");
        t.send(builder.build());
    //}
}

查看您的String.xml是否在正確的文件夾中。

應該在\\app\\src\\main\\res\\values\\string.xml

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM