2011-09-23 41 views
0

我同時使用grid viewshared preference in android.網格視圖和共享偏好Android的錯誤

我使用grid view以獲取圖像資源和圖像resource傳遞到一個新activity將其轉換成圖像面臨的一些問題。

Activity A包含:代碼資源的圖像轉換爲圖像中EditText

Activity B包含:(從Gridview選擇圖像)發送圖像資源Activity A

Activity A代碼:代碼在這個環節:http://pastebin.com/AzUTEFWT

Activity B代碼:代碼在這個環節:http://pastebin.com/cRp1vQan

請指導我這個問題。

我可以用圖像描繪gridview

我得到強制關閉錯誤,當我在gridview

+0

請發佈logcat輸出,除了你的力量關閉。 – HefferWolf

回答

0

嗯選擇的形象,我想我已經找到問題所在。它在這裏:

public void onItemClick(AdapterView parent,View arg1, int arg2, long arg3) { 
       //   public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
           // TODO Auto-generated method stub 
           SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE); 
           SharedPreferences.Editor prefsEditor = myPrefs.edit(); 
           System.out.println("Emoji is:- " +arg2); 
           prefsEditor.putInt("key1", arg2); 
           prefsEditor.commit(); 
           // finish(); 

       dialog.hide(); 
         } 

         private SharedPreferences getSharedPreferences(String string, 
             int modeWorldReadable) { 
           // TODO Auto-generated method stub 
           return null; 
         } 
       }); 

你的SharedPreference對象它是空的,並且你正在接受它。

private SharedPreferences getSharedPreferences(String string, 
              int modeWorldReadable) { 
            return null; 
          } 

你需要返回的東西,例如:

private SharedPreferences getSharedPreferences(String string, 
              int modeWorldReadable) { 
            return PreferenceManager.getDefaultSharedPreferences(context); //You need to pass an Context object, don't forget it 
          } 

我希望幫助你。

+0

謝謝大衛。現在我不會收到強制關閉錯誤。但我無法將從網格視圖中選擇的圖像存入EditText。任何想法。請指導我。 –

+0

首先。爲什麼不使用startActivityForResults方法而不是重寫Restart方法? [一個例子](http://developer.android.com/reference/android/app/Activity.html#StartingActivities)。其次,使用'PreferenceManager.getDefaultSharedPreferences(context)'而不是'this.getSharedPreferences()'在第55行和第56行(活動A代碼)。告訴我它是否有效 –