2012-05-14 38 views
0

2つのAndroidプロジェクトを持つアプリケーションを作成しています。 1番目のプロジェクトは図書館プロジェクトであり、2番目のプロジェクトは私の主なプロジェクトです。プロジェクト-1が正常に動作しているが、私はライブラリとして私のプロジェクト-2でそれを追加していたときに、それは私が私の文字列バンドルとR.を確認したときに文字列リソースのID番号が0x76000456リソースが見つかりません文字列リソースID

を見つけていないこの リソースのような例外を与えています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 iからの呼び出しではなく、テストの場合は、pref_loadrecent_idとの値をハードコードします次に、pref_confirmclose_idpref_confirmclose_defvalueについて同様の例外(異なるIDを使用)が表示されています。

私を助けてください。あなたは、リソースIDのいずれかの問題を見つけるたび

+0

のgetString(残油)を使用します。 – Akram

+0

@Akki私はコンストラクタでgetString(resId)を使用しています。次のように** MyApp.context.getString(resId); ** – Ankit

+0

context only – Akram

答えて

0

は、[プロジェクトへ移動 - >クリーン

そして、あなたのプロジェクト、R.javaファイルが再度生成されますきれい。

+0

私はそれをしようとしましたが、私のために働いていません。 – Ankit

+0

インポートの静的com.ankit.R.stringを削除します。*; – Bhavin

+0

すべての文字列は** R.java **にあります。 – Ankit

0

プロジェクトのプロパティを修正し、プロジェクトをクリーンアップします。 Eclipseを閉じてもう一度やり直してください。それは解決されます。

+0

私はそれをやってみましたが、私のために働いていません – Ankit

+0

ワークスペースを変更して、このプロジェクトをそこに置いてください... – Programmer

0

たぶん私は間違っているが、あなたは

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

でのみintないStringsをインポートしているそして、それは文字列リソースのID番号を見つけていない、あなたの例外リソースの原因になる可能性があるかのように私には見えます。 ..

+0

しかし、私はlibプロジェクトをメインプロジェクトとして実行すると同じ行が動作します。 – Ankit

2

、あなたの答えを渡しているパラメータは文字列に変換されない場合があります... まず、正しい答えを、その文字列パラメータを渡す文字列に変換し...

例えば

..

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

       } 
関連する問題