2016-12-08 10 views
-1

は、私は画像のアップロードを実装しているし、それが画像をアップロードしないが、活動後好みpicturepathにそれが保存された画像を選んでいませんを閉じている私が使用しているグライドを画像をアップロードするので、その文脈で言うしようと円はこのFRに私の画像をアップロードするためのフレームとしてを変換に使用してください)画像は、画像をロードしていないのonCreateメソッド

ame。

マイアクティビティクラス:

public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener { 

    private static String TAG = MainActivity.class.getSimpleName(); 
    EditText pname; 
    private static int RESULT_LOAD_IMAGE = 1; 
    private Toolbar mToolbar; 
    ImageView profimg; 
    String picturePath; 

    private FragmentDrawer drawerFragment; 
    SharedPreferences sp; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     sp=getSharedPreferences("profilePicture",MODE_PRIVATE); 



     profimg = (ImageView) findViewById(R.id.profileimg); 
     mToolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(mToolbar); 
     getSupportActionBar().setDisplayShowHomeEnabled(true); 
     drawerFragment = (FragmentDrawer) 
       getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer); 
     drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar); 
     drawerFragment.setDrawerListener(this); 

     displayView(0); 
     pname = (EditText) findViewById(R.id.pname); 

     profimg.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent i = new Intent(
         Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
       startActivityForResult(i, RESULT_LOAD_IMAGE); 
      } 
     }); 

     pname.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       pname.setInputType(0x0000006); 
       pname.setCursorVisible(true); 

      } 
     }); 
     pname.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
      @Override 
      public void onFocusChange(View v, boolean hasFocus) { 
        if(hasFocus){ 
         pname.setCursorVisible(false); 
        } 
       else{ 
         pname.setCursorVisible(false); 
        } 
      } 
     }); 


     pname.setOnEditorActionListener(new EditText.OnEditorActionListener() { 
      @Override 
      public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
       if (event!=null && event.getKeyCode() != KeyEvent.KEYCODE_ENTER || actionId != EditorInfo.IME_ACTION_DONE) { 
        return false; 
       } 
       else if(actionId==EditorInfo.IME_ACTION_DONE || event==null || event.getKeyCode() == KeyEvent.KEYCODE_ENTER){ 

         pname.setCursorVisible(false); 
         InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
         imm.hideSoftInputFromWindow(pname.getWindowToken(), 0); 
          return false; 
       } 
       return false; 
      } 
     }); 
     if(sp.getString("dp" ,"").equals(picturePath)){ 
      Glide.with(this).load(picturePath) 
        .crossFade() 
        .thumbnail(0.5f) 
        .bitmapTransform(new CircleTransform(this)) 
        .diskCacheStrategy(DiskCacheStrategy.ALL) 
        .into(profimg); 
     } 

    } 



    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) { 
      Uri selectedImage = data.getData(); 
      String[] filePathColumn = { MediaStore.Images.Media.DATA }; 

      Cursor cursor = getContentResolver().query(selectedImage, 
        filePathColumn, null, null, null); 
      cursor.moveToFirst(); 

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
      picturePath = cursor.getString(columnIndex); 
      cursor.close(); 

      Glide.with(this).load(picturePath) 
        .crossFade() 
        .thumbnail(0.5f) 
        .bitmapTransform(new CircleTransform(this)) 
        .diskCacheStrategy(DiskCacheStrategy.ALL) 
        .into(profimg); 

      sp.edit().putString("dp", picturePath).apply(); 


     } 
    } 
+0

「設定の保存画像」。 ???好みの画像をどのように保存するのですか?なぜ? – greenapps

+0

@greenappsいいえイメージイメージをアップロードするためにグライドを使用していますが、アップロードする前に画像パスを渡していることがわかります。このパスは自分の環境設定とonCreateメソッドで保存しています。実際には "dp"それ以前にアップロードされた画像の画像パスは、スライドを使用して設定します。あなたがそれを得ることを願っています。 – SameerKhan1406

+0

@greenapps解決できますか、何も手に入れられませんでしたか? – SameerKhan1406

答えて

0

私はここで最後に私自身の問題を解決し、それへの答えです。

まずグローバルを宣言:のonCreateメソッドで今すぐSharedPreferences sp;

は、この操作を行います。onActivityResultで

sp=getSharedPreferences("profilePicture",MODE_PRIVATE); 

boolean path =sp.contains("dp"); 

if(path) { 
      String value=sp.getString("dp",picturePath); 
      Glide.with(this).load(value) 
        .crossFade() 
        .thumbnail(0.5f) 
        .bitmapTransform(new CircleTransform(this)) 
        .diskCacheStrategy(DiskCacheStrategy.ALL) 
        .into(profimg); 
     } 

をグライド

sp.edit().putString("dp", picturePath).apply(); 

で画像をロードした後にこれがあなたのイメージが保存されますこれを行います新しい画像をアップロードしてアプリを再起動するたびに、アップロードするまでこの画像が表示されますもう1つで、そのようになります。

+0

これまでどんな問題があったかはまだ不明です。 – greenapps

+0

@greenapps hmmm ....私のプロフィール画像は復元できませんでした。アップロードした画像は、私が閉じてアプリをやり直すときに見ることができません。その画像パスは、私が最初にアップロードした保存された設定を使用して、同じ設定を使ってonCreateで同じ画像をアップロードしています。まだそれが得られなかったら、私の質問を見て、それを得る。バディー私はあなたを助けることはできません。あなたの時間をありがとう。 ;) – SameerKhan1406

+0

多くの単語が、あなたはまだあなたが間違っていたことを説明していない。 – greenapps

関連する問題