Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android提示从gridview保存图像或设置壁纸_Java_Android_Wallpaper - Fatal编程技术网

Java Android提示从gridview保存图像或设置壁纸

Java Android提示从gridview保存图像或设置壁纸,java,android,wallpaper,Java,Android,Wallpaper,我想让用户得到的选项,一旦选择的图像是点击设置为他们的墙纸图像或保存到他们的SD卡 这是我第一次这样做,所以我需要一些指导。我看过其他类似的问题,但每个人都使用不同的方法来设置显示图像 提前感谢,以下是代码: 显示图像的AdapterView位于: package com.question; import android.content.Context; import android.view.View; import android.view.ViewGroup; import androi

我想让用户得到的选项,一旦选择的图像是点击设置为他们的墙纸图像或保存到他们的SD卡

这是我第一次这样做,所以我需要一些指导。我看过其他类似的问题,但每个人都使用不同的方法来设置显示图像

提前感谢,以下是代码:

显示图像的AdapterView位于:

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;


       } 
}
类在以下位置显示图像:

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

        }
    });
}

}
package.com.question;
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.view.Window;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.GridView;
导入android.widget.Toast;
扩展活动中的公共类DisplayImages{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
this.requestWindowFeature(Window.FEATURE\u NO\u TITLE);
super.onCreate(savedInstanceState);
setContentView(右布局图、战场活动4);
GridView GridView=(GridView)findViewById(R.id.grid\u视图);
//ImageAdapter类的实例
setAdapter(新的AdapterViewADV(this));
setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
Toast.makeText(Displayimagesin.this,“墙纸集”,
吐司。长度(短)。show();
}
});
}
}

尝试使用墙纸管理器设置墙纸

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

            myWallpaperManager.setResource(mThumbIds[curruntPosition]);

通过调用
壁纸管理器
设置壁纸。 获取图像到位图的引用。 像这样的

WallpaperManager wm=WallpaperManager.getInstance(this);
wm.setBitmap(bitmap);
并在清单文件中添加权限

android.permission.SET_WALLPAPER

希望有帮助。

您是否收到toast消息?是的,我收到toast消息。使用墙纸管理器设置墙纸您是否使用墙纸在新活动中显示所选图像???是的,我在活动“DisplayImages in”添加警报对话框中显示图像,使用两个按钮设置墙纸并保存。如果单击setwallpaper,请尝试使用此代码进行设置