2013-08-30 2 views
0

Je voudrais que l'utilisateur obtienne l'option une fois que l'image choisie est cliquée pour définir l'image comme fond d'écran ou pour l'enregistrer sur sa carte SD.Android demandant d'enregistrer l'image ou de définir le fond d'écran de gridview

C'est la première fois que je fais cela, j'ai donc besoin de conseils. J'ai regardé d'autres questions similaires à celle-ci mais tout le monde utilise des méthodes différentes de celle que j'ai fait pour mettre en place l'affichage des images.

Merci à l'avance, voici le code:

AdapterView pour Displayimagesin:

package com.question; 

import android.content.Context; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.GridView; 
import android.widget.ImageView; 

public class AdapterViewADV extends BaseAdapter { 
private Context mContext; 


public Integer[] mThumbIds = { 
    R.drawable.Image1, 
    R.drawable.Image2, 
    R.drawable.Image3, 
    R.drawable.Image4, 
    R.drawable.Image5, 
    R.drawable.Image6 

}; 


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

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

@Override 
public Object getItem(int position) { 
return mThumbIds[position]; 
} 

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

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
ImageView imageView = null; 
if(convertView == null){ 
    imageView = new ImageView(mContext);imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
    imageView.setLayoutParams(new GridView.LayoutParams(NO_SELECTION, NO_SELECTION)); 
    convertView = imageView; 
}else{ 
    imageView = (ImageView)convertView; 
} 
imageView.setImageResource(mThumbIds[position]); 

return convertView; 


     } 
} 

classe affichage d'images dans:

package com.question; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.Window; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.GridView; 
import android.widget.Toast; 

public class Displayimagesin extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_battlefield4); 

    GridView gridView = (GridView) findViewById(R.id.grid_view); 

    // Instance of ImageAdapter Class 
    gridView.setAdapter(new AdapterViewADV(this)); 

    gridView.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View v, 
       int position, long id) { 

      Toast.makeText(Displayimagesin.this, "Wallpaper set", 
        Toast.LENGTH_SHORT).show(); 

     } 
    }); 
} 

} 
+0

Recevez-vous le message toast ?? –

+0

Oui, je reçois le message toast. – Jack

+0

Utilisez WallpaperManager pour définir le fond d'écran –

Répondre

1

définir le papier peint en appelant WallpaperManager. obtenir une référence à votre image à Bitmap. quelque chose comme ça

WallpaperManager wm=WallpaperManager.getInstance(this); 
wm.setBitmap(bitmap); 

et dans le fichier manifeste ajouter la permission

android.permission.SET_WALLPAPER 

espère que cela aide.

1

Essayez d'utiliser WallpaperManager pour définir le papier peint

 WallpaperManager myWallpaperManager=WallpaperManager.getInstance(getApplicationContext());    

      myWallpaperManager.setResource(mThumbIds[curruntPosition]); 
+0

Ajouter alertdialog avec deux boutons setwallpaper et enregistrer. Si vous cliquez sur setwallpaper, essayez avec ce code pour définir –

Questions connexes