2016-12-29 61 views
1

我幾乎堅持了我的Android應用程序...我試圖與圖像的gridview的的Android的GridView onItemClickListener設置活動背景圖片

enter image description here

,並使用OnItemClickListener()設置一個圖像作爲背景。 我遇到的問題是...當我將圖像設置爲背景時,活動關閉時消失。

我希望用戶通過從gridview中選擇而不會在用戶退出活動時消失來設置背景圖像。

////////////我的代碼///////////////////

public class ImageAdapter extends BaseAdapter { 
private Context mContext; 

public ImageAdapter(Context c) { 
    mContext = c; 
} 

public int getCount() { 
    return mThumbIds.length; 
} 

public Object getItem(int position) { 
    return null; 
} 

public long getItemId(int position) { 
    return 0; 
} 

// create a new ImageView for each item referenced by the Adapter 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView; 
    if (convertView == null) { 
     // if it's not recycled, initialize some attributes 
     imageView = new ImageView(mContext); 
     imageView.setLayoutParams(new GridView.LayoutParams(120, 120)); 
     imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
     imageView.setPadding(8, 8, 8, 8); 
    } else { 
     imageView = (ImageView) convertView; 
    } 

    imageView.setImageResource(mThumbIds[position]); 
    return imageView; 
} 

// references to our images 

private Integer[] mThumbIds = { R.drawable.bg, R.drawable.bg_010, 
     R.drawable.bg_003, R.drawable.bg_007, R.drawable.bg_001, 
     R.drawable.bg_006, R.drawable.bg_002, R.drawable.bg_011, 
     R.drawable.bg_004, R.drawable.bg_008, R.drawable.bg_005, 
     R.drawable.bg_009 

}; 
} 

//////活動........... /////////

 gridview = (GridView) findViewById(R.id.grid_skin_view); 
    gridview.setAdapter(new ImageAdapter(this)); 

    ly = (RelativeLayout) findViewById(R.id.rev_ly); 

    gridview.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View v, 
       int position, long id) { 
      ly.setBackgroundResource(R.drawable.bg_003); 

      SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
      SharedPreferences.Editor edit = settings.edit(); 

      int bgDrawableUri = position; 
      edit.putInt("bg_drawable_uri", bgDrawableUri); 
      edit.commit(); 

     } 
    });` 
} 

} 

回答

0

看看SharedPreferences用於存儲數據。關於如何使用,有大量的StackOverflow示例,如this

+0

謝謝朋友!它確實有幫助。 –

+0

不用擔心,如果它解決了您的問題,請不要忘記標記我的答案是正確的。 – Isaac