मैंने इस सवाल को पूरी तरह से दायरे में लिखने के लिए फिर से लिखा है।टुकड़े टुकड़े और नुकसान छवि
मेरे पास दो टुकड़े हैं जो एक कार्ड (बाएं, दाएं) की तरह फ़्लिप करते हैं। जब सामने का टुकड़ा फ्लिप गायब हो जाता है तो यह पीछे दिखाता है। एक बार बटन फिर से क्लिक हो जाने पर यह फिर से सामने आ जाता है लेकिन सामने के टुकड़े पर ImageView चला गया है।
मैंने उठाई गई छवि के डेटा को सहेजने के विभिन्न तरीकों का प्रयास किया है।
- सहेजा जा रहा है टुकड़ा onSaveInstanceState
यह मैं देता एक अशक्त सूचक, तो मैं सोचा मैं और अधिक लगातार एक बार बनाया जा रहा कुछ की जरूरत है।
- तो अब मैं एक बार चुना गया
यह मैं काम करेगा और सिर्फ पथ की जाँच करें और इसे हड़पने अगर सामने करने के लिए अपने फ़्लिप या गतिविधि से निर्मित किया गया है सोचा sdcard के लिए छवि बचाने के लिए।
यहाँ) कुछ कोड
OnCreate (है:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_postcard_activity);
//UI call
frontImageView = (ImageView) findViewById(R.id.imageView);
Log.d(tag, "onCreate() Instance:" + savedInstanceState);
//fragment start
if (savedInstanceState == null) {
Log.d(tag,"Instance Null");
getFragmentManager()
.beginTransaction()
.add(R.id.postcardFrame, new CardFrontFragment())
.commit();
if(!mShowingBack){
Log.d(tag,"Not showing back");
if(newPath != null && newPath != ""){
Log.d(tag, "entered new path, not empty");
Drawable drawable = Drawable.createFromPath(newPath);
Log.d(tag, "Should be setting saved image.");
frontImageView.setImageDrawable(drawable);
}
}
}
else
{
mShowingBack = (getFragmentManager().getBackStackEntryCount() > 0);
Log.d(tag, "Instance is not Null");
}
फ्लिप बटन क्लिक श्रोता
//flip card
final Button cardBackButton = (Button) findViewById(R.id.cardBackButton);
cardBackButton.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
flipCard();
});
फ़्लिपकार्ड विधि:
private void flipCard()
{
Log.d(tag2, "Log after flipCard:" + mShowingBack);
if(mShowingBack)
{
//Flip to front
flipFront();
return;
}
// Flip to back
flipBack();
}
मैं उनके PhotoGallery से छवि onActivityResult सेट
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {
Uri photoUri = intent.getData();
if (photoUri != null) {
try {
ImageView setImage = (ImageView)findViewById(R.id.imageView);
frontImage = MediaStore.Images.Media.getBitmap(this
.getContentResolver(), photoUri);
imageSet = true;
//save image to SD
if(imageSet == true){
Log.d(tag, "Inside Image Set if Statement");
String path = getExternalCacheDir() + "Postcards.png";
if(path != null && path != ""){
Log.d(tag, "Path is:" + path);
File file = new File(path);
newPath = file.getAbsolutePath();
Log.d(tag, "New Path:" + newPath);
if(file.exists()){
Log.d(tag, "File Exists");
Drawable d = Drawable.createFromPath(newPath);
setImage.setImageDrawable(d);
}else{
try{
Log.d(tag,"File didnt exist");
FileOutputStream out = new FileOutputStream(file);
frontImage.compress(Bitmap.CompressFormat.PNG, 90, out);
if(file.exists()){
Log.d(tag, "file exists now");
newPath = file.getAbsolutePath();
Drawable b = Drawable.createFromPath(newPath);
setImage.setImageDrawable(b);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
यह कैसे मैं छवि तक पहुँचने कर रहा हूँ और पुनः प्रारंभ()
if(imageSet == true){
if(newPath != null && newPath != ""){
ImageView view = (ImageView) findViewById(R.id.imageView);
Drawable drawable = Drawable.createFromPath(newPath);
view.setImageDrawable(drawable);
}
}
इस में सबसे अच्छा मार्ग की तरह लगता है पर मेरी imageView के लिए सेट करने की कोशिश कर रहा है छवि प्राप्त करना और इसे सेट करना लेकिन यह काम नहीं करेगा। सबसे अच्छा अभ्यास क्या होगा और मैं जिस तरीके से इसकी आवश्यकता है उसे करने के लिए मैं इसे कैसे प्राप्त कर सकता हूं?
किसी भी मदद से बहुत सराहना की!
क्या आपको न्यूल की जांच नहीं करनी चाहिए? अगर (आउटस्टेट! = शून्य)। – Tool
मैंने दोनों की कोशिश की और मुझे अभी भी शून्य सूचक त्रुटि मिल गई है। @ टूल – Keeano
क्या आपने पूरी तरह से if (आउटस्टेट == नल) लाइन को हटाने का प्रयास किया है? – Tool