<NME> MainActivity.java
<BEF> package com.avocarrot.json2view.sample;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import com.avocarrot.json2view.DynamicView;
import com.avocarrot.json2view.DynamicViewId;

import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class MainActivity extends ActionBarActivity implements View.OnClickListener {

        try {

            /* create dynamic view and return the view with the holder class attached as tag */
            View sampleView = DynamicView.createView(this, new JSONObject(readFile("sample.json", this)), SampleViewHolder.class);
            ((SampleViewHolder)sampleView.getTag()).adClose.setOnClickListener(this);
            sampleView.setLayoutParams(new WindowManager.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT));
            setContentView(sampleView);

        } catch (JSONException e) {
            e.printStackTrace();
        }

            jsonObject = null;
        }

        if (jsonObject != null) {

            /* create dynamic view and return the view with the holder class attached as tag */
            View sampleView = DynamicView.createView(this, jsonObject, SampleViewHolder.class);
            /* get the view with id "testClick" and attach the onClickListener */
            ((SampleViewHolder) sampleView.getTag()).clickableView.setOnClickListener(this);

            /* add Layout Parameters in just created view and set as the contentView of the activity */
            sampleView.setLayoutParams(new WindowManager.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT));
            setContentView(sampleView);

        } else {
            Log.e("Json2View", "Could not load valid json file");
        }

    }

    @Override
    public void onClick(View v) {
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.avocarrot.com/")));
    }

    /**
     * Helper function to load file from assets
     */
    private String readFile(String fileName, Context context) {
        StringBuilder returnString = new StringBuilder();
        InputStream fIn = null;
        InputStreamReader isr = null;
        BufferedReader input = null;
        try {
            fIn = context.getResources().getAssets().open(fileName);
            isr = new InputStreamReader(fIn);
     **/
    static public class SampleViewHolder {
        public SampleViewHolder() {}
        @DynamicViewId(id = "adClose")
        public View adClose;
    }

        } finally {
            try {
                if (isr != null) isr.close();
                if (fIn != null) fIn.close();
                if (input != null) input.close();
            } catch (Exception e2) {
                e2.getMessage();
            }
        }
        return returnString.toString();
    }

    /**
     * Holder class that keep UI Component from the Dynamic View
     */
    static public class SampleViewHolder {
        @DynamicViewId(id = "testClick")
        public View clickableView;

        public SampleViewHolder() {
        }
    }

}

<MSG> Merge pull request #15 from Avocarrot/getGeneralViewMethod

Get general view method
<DFF> @@ -10,7 +10,6 @@ import android.widget.Toast;
 import com.avocarrot.json2view.DynamicView;
 import com.avocarrot.json2view.DynamicViewId;
 
-import org.json.JSONException;
 import org.json.JSONObject;
 
 import java.io.BufferedReader;
@@ -26,12 +25,12 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
         try {
 
             /* create dynamic view and return the view with the holder class attached as tag */
-            View sampleView = DynamicView.createView(this, new JSONObject(readFile("sample.json", this)), SampleViewHolder.class);
+            View sampleView = DynamicView.createView(this, new JSONObject(readFile("interstitial.json", this)), SampleViewHolder.class);
             ((SampleViewHolder)sampleView.getTag()).adClose.setOnClickListener(this);
             sampleView.setLayoutParams(new WindowManager.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT));
             setContentView(sampleView);
 
-        } catch (JSONException e) {
+        } catch (Exception e) {
             e.printStackTrace();
         }
 
@@ -74,7 +73,7 @@ public class MainActivity extends ActionBarActivity implements View.OnClickListe
      **/
     static public class SampleViewHolder {
         public SampleViewHolder() {}
-        @DynamicViewId(id = "adClose")
+        @DynamicViewId(id = "avo_close")
         public View adClose;
     }
 

Merge pull request #15 from Avocarrot/getGeneralViewMethod