【发布时间】:2014-09-18 20:43:34
【问题描述】:
我尝试使用 sharedpreference 来存储一个 int,该 int 会根据用户选择的内容更改它的 id,我不知道如何存储用户选择的内容以及如何读取它,我现在主要关心的是如何存储我稍后会弄清楚如何阅读,但请有人告诉我如何解决这个问题。
这是我的 MainActivity:
public class MainActivity extends Activity implements OnClickListener {
static int tophone;
ImageView display;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tophone = R.drawable.iv1;
display = (ImageView) findViewById(R.id.IView);
ImageView image1 = (ImageView) findViewById(R.id.iv1);
ImageView image2 = (ImageView) findViewById(R.id.iv2);
ImageView image3 = (ImageView) findViewById(R.id.iv3);
ImageView image4 = (ImageView) findViewById(R.id.iv4);
Button setWp = (Button) findViewById(R.id.setWp);
image1.setOnClickListener(this);
image2.setOnClickListener(this);
image3.setOnClickListener(this);
image4.setOnClickListener(this);
setWp.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()){
case R.id.iv1:
display.setImageResource(R.drawable.iv1);
tophone = R.drawable.iv1;
break;
case R.id.iv2:
display.setImageResource(R.drawable.iv2);
tophone = R.drawable.iv2;
break;
case R.id.iv3:
display.setImageResource(R.drawable.iv3);
tophone = R.drawable.iv3;
break;
case R.id.iv4:
display.setImageResource(R.drawable.iv4);
tophone = R.drawable.iv4;
break;
case R.id.setWp:
Toast WpSet = Toast.makeText(MainActivity.this,"Wallpaper Set", Toast.LENGTH_SHORT);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
int width = metrics.widthPixels;
Bitmap tempbitMap = BitmapFactory.decodeResource(getResources(), tophone);
Bitmap bitmap = Bitmap.createScaledBitmap(tempbitMap,width,height, true);
WallpaperManager wallpaperManager = WallpaperManager.getInstance(MainActivity.this);
wallpaperManager.setWallpaperOffsetSteps(1, 1);
wallpaperManager.suggestDesiredDimensions(width, height);
try {
wallpaperManager.setBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
WpSet.show();
break;
如您所见,我想存储“tophone”图像的 id。 我想存储 id,以便我可以在广播接收器中引用它。 提前致谢
【问题讨论】:
-
您用来尝试将其存储在 SharedPrefs 中的代码在哪里?
-
“int tophone”@codeMagic
-
但是你说你已经尝试使用 SharedPrefs 但你没有显示任何代码表明这样可以让我们告诉你你做错了什么。如果您只是想要一个示例,那么 Internet 和文档上有很多。
-
我建议你应用适当的缩进。它使您的代码更易于阅读。
-
一团糟,所以我删除了所有的 sharedprefs 代码@codeMagic
标签: java android eclipse sharedpreferences