0

私のアプリInfiniteGalleryクラスでは、ボタンを押すと、任意の画像をSDカードに保存して、最後に保存された番号を取得し、保存された画像の最後の番号を保存して、すべての画像を順番に保存できますが 、SharedPreferencesを追加すると、赤い線が表示されますの下のエラー:

1- SharedPreferences savedNumber = getSharedPreferences(PREFS_NAME, 0); (:getSharedPreferences の下)。

エラー: メソッド 'getSharedPreferences'(string,int)' を作成します

2- SharedPreferences saveNumber = getApplicationContext().getSharedPreferences(PREFS_NAME, 0); (:getApplicationContext の下)。

エラーは : メソッド 'getApplicationContext()' を作成します

私はそれを修正しようとしましたが、icant、アドバイスや助けをいただければ幸いです、ありがとう

私のコード:

   View vi=convertView; 
    final ViewHolder holder; 
    if(convertView==null){ 
        vi = inflater.inflate(R.layout.gallery_items, null); 
        holder=new ViewHolder(); 
        holder.text=(TextView)vi.findViewById(R.id.textView1); 
        holder.image=(ImageView)vi.findViewById(R.id.image); 
        holder.button=(Button)vi.findViewById(R.id.button_save);
bm = BitmapFactory.decodeResource( mContext.getResources(), images[itemPos]);
         holder.image.setImageBitmap(bm);           
        holder.button.setOnClickListener(new OnClickListener() {
  private Bitmap bm;
  private String PREFS_NAME;
public void onClick(View arg0) {
    String root = Environment.getExternalStorageDirectory().toString();
       File myDir = new File(root + "/saved_images");
       if(!myDir.exists()){
           myDir.mkdirs();}

        SharedPreferences savedNumber = getSharedPreferences(PREFS_NAME, 0); 
        int lastSavedNumber = savedNumber.getInt("lastsavednumber",0); 
        lastSavedNumber++; 
        String fname = "Image-"+lastSavedNumber+".png"; 

        File file = new File (myDir, fname); 
        if (file.exists ()) {file.delete (); } 
        try { 
        FileOutputStream out = new FileOutputStream(file); 
        bm.compress(Bitmap.CompressFormat.PNG, 100, out);
                 //Your Bitmap from the resouce 
        out.flush(); 
        out.close(); 
        Toast.makeText(mContext, "Saved", Toast.LENGTH_LONG).show();}
         catch (Exception e) { 
        e.printStackTrace(); }

       SharedPreferences saveNumber = getApplicationContext().getSharedPreferences
               (PREFS_NAME, 0); 
        SharedPreferences.Editor editorset = saveNumber.edit(); 
        editorset.putInt("lastsavednumber",lastSavedNumber); 
        editorset.commit();
      Toast.makeText(mContext, "button clicked", Toast.LENGTH_LONG). 
                 show();}});

      vi.setTag(holder);}

    else holder=(ViewHolder)vi.getTag(); 
    holder.text.setText(name[itemPos]); 

    final int stub_id=images[itemPos]; 
    holder.image.setImageResource(stub_id); 

    return vi; } 
4

2 に答える 2