findResourceById return always null

Put problem concerning Views, Layouts and other XML-Resources (like AndroidManifest) here.

findResourceById return always null

Postby first100 » Tue Oct 15, 2013 3:57 pm

Hello,

I have a simple animating application and i want to make a screenshoot .
The issue is here : CamView =(RelativeLayout) findViewById(R.id.MainRL);
here i have always null! I have tried several times but I do not understand the error :cry:
Can you help me?

im my xaml i have :
Code: Select all
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/MainRL"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
</RelativeLayout>


and in code :
Code: Select all

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;

import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.Toast;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;

public class MainActivity extends Activity {
    BallBounces ball;
    File imageFile;
   
    public RelativeLayout CamView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ball = new BallBounces(this);
   
        setContentView(R.layout.activity_main);
        CamView =(RelativeLayout) findViewById(R.id.MainRL); // here have always NULL!
        setContentView(ball);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        CamView =(RelativeLayout) findViewById(R.id.MainRL);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle item selection
        switch (item.getItemId()) {
        case R.id.Menu:
            //newGame();
        case R.id.screenshot:
         
            TakeScreenshot();
       
            Context context=getApplicationContext();
          CharSequence text="screenshot";
          int duration=Toast.LENGTH_LONG;
            Toast toast=Toast.makeText(context, text, duration);
            toast.show();
            return true;   
           
        case R.id.About:
            //showHelp();
           
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }
    public void TakeScreenshot(){ 
       //RelativeLayout CamView;
       Random num = new Random();
       int nu=num.nextInt(1000);
       CamView.setDrawingCacheEnabled(true);
       CamView.buildDrawingCache(true);
       Bitmap bmp = Bitmap.createBitmap(CamView.getDrawingCache());
       CamView.setDrawingCacheEnabled(false); // clear drawing cache
                       ByteArrayOutputStream bos = new ByteArrayOutputStream();
                       bmp.compress(CompressFormat.JPEG, 70, bos);
                       byte[] bitmapdata = bos.toByteArray();
                       ByteArrayInputStream fis = new ByteArrayInputStream(bitmapdata);

                       String picId=String.valueOf(nu);
                       String myfile="Ghost"+picId+".jpeg";

                       File dir_image = new  File(Environment.getExternalStorageDirectory()+//<---
                               File.separator+"ImageTouch");          //<---

                       dir_image.mkdirs();                                                 
                       try {
                           File tmpFile = new File(dir_image,myfile);
                           FileOutputStream fos = new FileOutputStream(tmpFile);

                            byte[] buf = new byte[1024];
                               int len;
                               while ((len = fis.read(buf)) > 0) {
                                   fos.write(buf, 0, len);
                               }
                                   fis.close();
                                   fos.close();

                                   Toast.makeText(getApplicationContext(),
                                           "The file is saved at :SD/ImageTouch",Toast.LENGTH_LONG).show();

                       }
                        catch (FileNotFoundException e)
                         {
                           e.printStackTrace();
                       }
                        catch (IOException e) {
                           e.printStackTrace();
                       }
       }
}


Thanks
first100
Once Poster
Once Poster
 
Posts: 1
Joined: Fri Mar 25, 2011 10:15 pm

Top

Return to View, Layout & Resource Problems

Who is online

Users browsing this forum: No registered users and 5 guests