1

私は2つのAndroidプロジェクトを持つどのアプリを作成しています。1 番目のプロジェクトはライブラリ プロジェクトで、2 番目のプロジェクトはメイン プロジェクトです。project-1 は正常に動作していますが、Project-2 にライブラリとして追加すると、このResource not found String resource ID #0x76000456のような例外が発生します

文字列バンドルと R.java を確認すると、この文字列があります。

私はクリーンなプロジェクトを試みましたが、Eclipseとシステムを再起動しました。

私のstrings.xmlファイルは次のようになります:-

 <string name="pref_loadrecent_id">loadrecent</string>
<string name="pref_loadrecent_defvalue">false</string>

<string name="pref_confirmclose_id">confirmclose</string>
<string name="pref_confirmclose_defvalue">false</string>

そして私はこのように呼んでいます:-

BooleanPreferenceDefinition LOAD_RECENT = new BooleanPreferenceDefinition(pref_loadrecent_id,
        pref_loadrecent_defvalue);

BooleanPreferenceDefinition CONFIRM_CLOSE = new BooleanPreferenceDefinition(pref_confirmclose_id,
        pref_confirmclose_defvalue);

そして、私はこのように R.string の静的インポートを行っています

import static com.ankit.R.string.*;

文字列 ID から呼び出す代わりにテストするために、 の値をハードコーディングするpref_loadrecent_idpref_loadrecent_defvalue、 と に対して同様の例外 (ID が異なる) が表示されpref_confirmclose_idますpref_confirmclose_defvalue

私を助けてください。

4

5 に答える 5

1

回答に渡すパラメーターは文字列に変換されない可能性があります...最初に文字列に変換してから、その文字列パラメーターを正しい回答に渡します..

例えば..

@Override
public void onClick(View v) {

// TODO Auto-generated method stub

    EditText edittext = (EditText) findViewById(R.id.edT);

    String str = edittext.getText().toString();

    int n = Integer.parseInt(str);

    int fact = n , i ,e;

    e = n;

    if (n==0)
    fact = 1;

    else

    for(i=0; i<n-1; i++)
        {
            fact = fact * (e - 1);
            e = e - 1;

        }


String str1 = String.valueOf(fact);       <-----//Your mistake maybe here.....

Toast.makeText(getApplicationContext(), str1, Toast.LENGTH_LONG).show();

                }
于 2013-07-22T10:40:33.847 に答える
0

リソースIDに問題が見つかった場合はいつでも、プロジェクトに移動-->クリーン

プロジェクトをクリーンアップすると、R.javaファイルが再び生成されます。

于 2012-05-14T06:54:10.200 に答える
0

プロジェクトのプロパティを修正し、プロジェクトをクリーンアップします。日食を閉じて、もう一度再起動します。解決します。

于 2012-05-14T06:56:55.330 に答える