Log in or register to post comments

problem with button and text view

November 14, 2012 - 12:33am #1

my app using imagetarget can be show button and textview...but if move to another marker or camera pointed to empty, the button and textview show previous marker or trackable...and if multiply target or marker, only can be show one information or textview..anyone can help

problem with button and text view

December 4, 2012 - 4:28am #24

i want make like this, if only oner marker show one textview. If markers more than one or multiple, show the text information refer to many markers.can u help with code?

problem with button and text view

November 26, 2012 - 4:01am #23

yes. but can u give me some sample code. i don't know  to change it...i try but error and same like my app before only show one

problem with button and text view

November 26, 2012 - 1:17am #22

Hi ryo,

I pointed Losanti to the same Thread to which I also pointed you at the beginning of this thread (how to modify UI in response to tracking events); I presume Losanti use case was not involving displaying multiple target information in the same view at the same time.

For your question about simultaneously displaying multiple overlay/text views for multiple targets, my answer of 5 posts ago (November 20, 2012 - 6:13am) is still applicable (general guidelines).

 

problem with button and text view

November 24, 2012 - 6:10am #21

i don't understand what u point, can u give me some example with code...

problem with button and text view

November 23, 2012 - 5:04am #20

You're welcome.

problem with button and text view

November 23, 2012 - 4:55am #19

Thanks a lot!

That was all i needed and now my program is doind exatcly what i want it to! Have a good weekend and thanks again for the quick answer!

problem with button and text view

November 23, 2012 - 12:55am #18

Hi Losanti,

the displayMessage() is a function that is implemented in the Java side (and which is called from C++ through JNI);

so, this function receives an argument (or a set of arguments) from C++ via JNI, and it creates Message object and send it out to a Handler;

when the Handler receives the message it queues it and it then processes it in the main (UI) thread (the code in handleMessage() is executed).

This is explained very very clearly (and with all the necessary sample code snippets) in this thread:

https://ar.qualcomm.at/content/android-how-can-i-update-my-ui-response-tracking-events

Have a look at there, it should get you on the right track.

 

problem with button and text view

November 22, 2012 - 6:59am #17

Hey, I'm a newbie to this as well and i have kind of the same problem as Ryo.
I want to know when a specific tracker is found, and then produce different outcomes.
This means (in my case at least) that I would like to pass and receive messages (mainly from c++ to JAVA).
I've been trying to follow your suggestions, but it seems as I can't write the code for the "displayMessage" java function. Can you help me?
I think I have the code for the c++ part correct, but as I understand it, the "handleMessage" part is just a piece of code that uses the "displayMessage" function?
Best regards

problem with button and text view

November 20, 2012 - 6:13am #16

Here are some guidelines that I can suggest (providing the full application code is beyond what I can realistically do):

- modify the displayMessage() function (in Java) so to accept as parameter an array of integers and an array of strings, instead of just a string; the array of integers is an array of all the targetIDs that are detected in this frame, while the array of strings is an array of the target names

- again in the displayMessage(), take the array of targetIDs and the array of target names and pass them to the Message.what and Message.obj, then send the message as you already do;

- in the receiving Handler, extract the information (array of targetIDs and array of names), and use them to show/hide different overlay panels

 

 

problem with button and text view

November 19, 2012 - 9:55am #15

can u give me example, i do not understand how to implement it or use what code

problem with button and text view

November 19, 2012 - 2:36am #14

Hi, I'm glad to hear that your problem was solved.

About your second question:

how to show multiple text objects for multiple markers is really an application specific issue;

you might want to create multiple overlay panels, or embed multiple TextViews in the same overlay panel with some Layout arrangement;

you will also need to adjust the logic in both JNI and Java code to take into account the multiple targets, so to link each target ID to a different TextView (or a different Overlay).

This is a very broad question, it is really up to you to build your application the way you feel comfortable with.

 

problem with button and text view

November 16, 2012 - 2:39pm #13

thanks, it's work. now, my second problem about multiple marker with multiple text/object like i talking before.can u help to solve it?

problem with button and text view

November 16, 2012 - 5:56am #12

The reason why it does not show the text info any more when you detect a marker, is because you have this code in Java:

else if (text.equals("NO_MARKER_IN_THIS_FRAME"))
                {
                    textView2.setVisibility(View.INVISIBLE);
                    textView1.setVisibility(View.INVISIBLE);
                    
                }

But you also need to make those textViews visible again when you receive any other message, i.e. adding something like "if text is NOT equal to "NO_MARKER_IN_THIS_FRAME", then make viewText1 and viewText2 visible:

you can add this code somewhere in your Java code:

if ( !text.equals("NO_MARKER_IN_THIS_FRAME"))
{
    textView2.setVisibility(View.VISIBLE);
    textView1.setVisibility(View.VISIBLE);
}

 

problem with button and text view

November 16, 2012 - 4:29am #11

yes, thank u. it's work but if i want to track again to marker, the information can't show....

this is my code like ur suggestion :

int lastTrackableId = -1;

JNIEXPORT void JNICALL
Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargetsRenderer_renderFrame(JNIEnv* env, jobject obj)
{
    //LOG("Java_com_qualcomm_QCARSamples_ImageTargets_GLRenderer_renderFrame");

    // Clear color and depth buffer
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    // Get the state from QCAR and mark the beginning of a rendering section
    QCAR::State state = QCAR::Renderer::getInstance().begin();

    // Explicitly render the Video Background
    QCAR::Renderer::getInstance().drawVideoBackground();

#ifdef USE_OPENGL_ES_1_1
    // Set GL11 flags:
    glEnableClientState(GL_VERTEX_ARRAY);
    glEnableClientState(GL_NORMAL_ARRAY);
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);

    glEnable(GL_TEXTURE_2D);
    glDisable(GL_LIGHTING);

#endif

    glEnable(GL_DEPTH_TEST);
    glEnable(GL_CULL_FACE);

    if (numTrackablesInLastFrame > 0 && state.getNumActiveTrackables() == 0)

    {
         // there were some trackables in last frame, now no more trackables

         // let's notify the UI on the Java side

        jstring js = env->NewStringUTF( "NO_MARKER_IN_THIS_FRAME" );

        jclass javaClass = env->GetObjectClass(obj);

        jmethodID method = env->GetMethodID(javaClass, "displayMessage", "(Ljava/lang/String;)V");

        env->CallVoidMethod(obj, method, js);

    }

    if (state.getNumActiveTrackables() == 0)

    {

        lastTrackableId = -1;

    }
    numTrackablesInLastFrame = state.getNumActiveTrackables();

    // Did we find any trackables this frame?
    for(int tIdx = 0; tIdx < state.getNumActiveTrackables(); tIdx++)
       {
           // Get the trackable:
           const QCAR::Trackable* trackable = state.getActiveTrackable(tIdx);
           QCAR::Matrix44F modelViewMatrix =
               QCAR::Tool::convertPose2GLMatrix(trackable->getPose());

           // Get a reference to the displayMessage java method and pass it the name of the image that was recognized
           if (trackable->getId() != lastTrackableId) {
               jstring js = env->NewStringUTF(trackable->getName());
               jclass javaClass = env->GetObjectClass(obj);
               jmethodID method = env->GetMethodID(javaClass, "displayMessage", "(Ljava/lang/String;)V");
               env->CallVoidMethod(obj, method, js);
               lastTrackableId = trackable->getId();
           }

        // Choose the texture based on the target name:
        int textureIndex;
        if (strcmp(trackable->getName(), "tambal") == 0)
        {
            textureIndex = 0;
        }
        else if (strcmp(trackable->getName(), "ceplok") == 0)
        {
            textureIndex = 1;
        }
        else if (strcmp(trackable->getName(), "sidomukti") == 0)
                {
                    textureIndex = 2;
                }
        else if (strcmp(trackable->getName(), "ciptoning") == 0)
                {
                    textureIndex = 3;
                }
        else if (strcmp(trackable->getName(), "kawung") == 0)
                {
                    textureIndex = 4;
                }
        else if (strcmp(trackable->getName(), "nitik") == 0)
                {
                    textureIndex = 5;
                }
        else if (strcmp(trackable->getName(), "truntum") == 0)
                {
                    textureIndex = 6;
                }
        else if (strcmp(trackable->getName(), "uwiri") == 0)
                {
                    textureIndex = 7;
                }
        else if (strcmp(trackable->getName(), "udanliris") == 0)
                {
                    textureIndex = 8;
                }
        else if (strcmp(trackable->getName(), "parangkusumo") == 0)
                {
                    textureIndex = 9;
                }
        else if (strcmp(trackable->getName(), "parangrusak") == 0)
                {
                    textureIndex = 10;
                }
        else if (strcmp(trackable->getName(), "slobog") == 0)
                {
                    textureIndex = 11;
                }
        const Texture* const thisTexture = textures[textureIndex];

    }

    glDisable(GL_DEPTH_TEST);

    QCAR::Renderer::getInstance().end();
}

 

in global variabel, i'm add the  int numTrackablesInLastFrame = 0;

problem with button and text view

November 16, 2012 - 3:02am #10

Hi, can you try to adjust your code as follows:

 

- add a global variable: 

   int numTrackablesInLastFrame = 0;

 

then in _renderFrame, adjust the code as follows:

 

if (numTrackablesInLastFrame > 0 && state.getNumActiveTrackables() == 0)

 

{

     // there were some trackables in last frame, now no more trackables

     // let's notify the UI on the Java side

 

    jstring js = env->NewStringUTF( "NO_MARKER_IN_THIS_FRAME" );

    jclass javaClass = env->GetObjectClass(obj);

    jmethodID method = env->GetMethodID(javaClass, "displayMessage", "(Ljava/lang/String;)V");

    env->CallVoidMethod(obj, method, js)

 

}

 

//update the numTrackablesInLastFrame

numTrackablesInLastFrame = state.getNumActiveTrackables();

 

for (int tIdx = 0; tIdx < state.getNumActiveTrackables(); tIdx++) {

 

/// etc.

 

If you still get an error, then it could be something going wrong in your Java code (then you should look at the error logs...)

 

problem with button and text view

November 15, 2012 - 11:22am #9

error, the application show blank screen and stop worked. I add like u say

problem with button and text view

November 15, 2012 - 8:27am #8

Have you added the additional call to "displayMessage" in ImageTarget.cpp BEFORE entering the "for" loop (i.e. before this line of code:

the for (int idx = 0; idx < state.getNumActiveTrackables(); tIdx++) {...}  ) ?

i.e. something like:

if (state.getNumActiveTrackables() == 0)

{

    jstring js = env->NewStringUTF( "NO_MARKER_IN_THIS_FRAME" );
    jclass javaClass = env->GetObjectClass(obj);
    jmethodID method = env->GetMethodID(javaClass, "displayMessage", "(Ljava/lang/String;)V");
    env->CallVoidMethod(obj, method, js)

}

(check my previous message, where I say: so, what you should do, is to call the "displayMessage" also when there are no markers, )

 

problem with button and text view

November 15, 2012 - 8:19am #7

i try it but, nothing happen...

i add to my code in java is

else if (text.equals("NO_MARKER_IN_THIS_FRAME"))
                {
                    textView2.setVisibility(View.INVISIBLE);
                    textView1.setVisibility(View.INVISIBLE);
                   
                }

 

and in imagetarget.cpp

  else if (strcmp(trackable->getName(), "NO_MARKER_IN_THIS_FRAME") == 0)
                {
                    textureIndex = 12;
                }

problem with button and text view

November 15, 2012 - 3:29am #6

OK, let's arrange one problem at a time:

So, about the reason why "when the AR view is empty (no markers), you still see the text overlay":

 

the main problem is that, in your native (C++) code, you are only sending a message if at least one trackable is detected (i.e. you call "displayMessage" from within the "for" loop);

that means that the Java side is not "aware" (not notified) in the case of "no markers" in the view;

so, what you should do, is to call the "displayMessage" also when there are no markers, 

but specifying in this case a text like for example "NO_MARKER_IN_THIS_FRAME" (or choose whatever String you like, as long as it is easily recognizable);

 

then in your Java code, in the "handleMessage" method, you can check if the text.equals("NO_MARKER_IN_THIS_FRAME") and then hide the overlayView if that's the case

(and show it in all other cases).

 

A much better way to do that would be to use an integer code in the Message.what (instead of using a string like NO_MARKER_IN_THIS_FRAME, which is a bit inelegant), however you can try the approach above for simplicity. That should work.

 

 

Let me know if you manage to make progress there, then we can tackle your remaining issues.

problem with button and text view

November 15, 2012 - 12:00am #5

problem with button and text view

November 14, 2012 - 11:52pm #4

in same apllication, i try to show 2 markers in same camera or AR view. i want the text show different information (2 information in same view) but one button to show and hide the text. i'm using this code :

JNIEXPORT void JNICALL
Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargets_onQCARInitializedNative(JNIEnv *, jobject)
{
    // Comment in to enable tracking of up to 2 targets simultaneously and
    // split the work over multiple frames:
    QCAR::setHint(QCAR::HINT_MAX_SIMULTANEOUS_IMAGE_TARGETS, 4);
    QCAR::setHint(QCAR::HINT_IMAGE_TARGET_MULTI_FRAME_ENABLED, 2);

}

but unfornatelly, the text and button show only one information (in camera view i have 2 markers)

i will post the image later

problem with button and text view

November 14, 2012 - 11:45pm #3

about first part... i try it but not change.the text show previous target and if i shoot in empty area, the text show not hide. this is my code :

 

int lastTrackableId = -1;

JNIEXPORT void JNICALL
Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargetsRenderer_renderFrame(JNIEnv* env, jobject obj)
{
    //LOG("Java_com_qualcomm_QCARSamples_ImageTargets_GLRenderer_renderFrame");

    // Clear color and depth buffer
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    // Get the state from QCAR and mark the beginning of a rendering section
    QCAR::State state = QCAR::Renderer::getInstance().begin();

    // Explicitly render the Video Background
    QCAR::Renderer::getInstance().drawVideoBackground();

#ifdef USE_OPENGL_ES_1_1
    // Set GL11 flags:
    glEnableClientState(GL_VERTEX_ARRAY);
    glEnableClientState(GL_NORMAL_ARRAY);
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);

    glEnable(GL_TEXTURE_2D);
    glDisable(GL_LIGHTING);

#endif

    glEnable(GL_DEPTH_TEST);
    glEnable(GL_CULL_FACE);

    if (state.getNumActiveTrackables() == 0)

    {

        lastTrackableId = -1;

    }

    // Did we find any trackables this frame?
    for(int tIdx = 0; tIdx < state.getNumActiveTrackables(); tIdx++)
       {
           // Get the trackable:
           const QCAR::Trackable* trackable = state.getActiveTrackable(tIdx);
           QCAR::Matrix44F modelViewMatrix =
               QCAR::Tool::convertPose2GLMatrix(trackable->getPose());

           // Get a reference to the displayMessage java method and pass it the name of the image that was recognized
           if (trackable->getId() != lastTrackableId) {
               jstring js = env->NewStringUTF(trackable->getName());
               jclass javaClass = env->GetObjectClass(obj);
               jmethodID method = env->GetMethodID(javaClass, "displayMessage", "(Ljava/lang/String;)V");
               env->CallVoidMethod(obj, method, js);
               lastTrackableId = trackable->getId();
           }

        // Choose the texture based on the target name:
        int textureIndex;
        if (strcmp(trackable->getName(), "tambal") == 0)
        {
            textureIndex = 0;
        }
        else if (strcmp(trackable->getName(), "ceplok") == 0)
        {
            textureIndex = 1;
        }
        else if (strcmp(trackable->getName(), "sidomukti") == 0)
                {
                    textureIndex = 2;
                }
        else if (strcmp(trackable->getName(), "ciptoning") == 0)
                {
                    textureIndex = 3;
                }
        else if (strcmp(trackable->getName(), "kawung") == 0)
                {
                    textureIndex = 4;
                }
        else if (strcmp(trackable->getName(), "nitik") == 0)
                {
                    textureIndex = 5;
                }
        else if (strcmp(trackable->getName(), "truntum") == 0)
                {
                    textureIndex = 6;
                }
        else if (strcmp(trackable->getName(), "uwiri") == 0)
                {
                    textureIndex = 7;
                }
        else if (strcmp(trackable->getName(), "udanliris") == 0)
                {
                    textureIndex = 8;
                }
        else if (strcmp(trackable->getName(), "parangkusumo") == 0)
                {
                    textureIndex = 9;
                }
        else if (strcmp(trackable->getName(), "parangrusak") == 0)
                {
                    textureIndex = 10;
                }
        else if (strcmp(trackable->getName(), "slobog") == 0)
                {
                    textureIndex = 11;
                }
        const Texture* const thisTexture = textures[textureIndex];

    }

    glDisable(GL_DEPTH_TEST);

    QCAR::Renderer::getInstance().end();

 

in imagetarget.java

protected void onResume()
    {
        DebugLog.LOGD("ImageTargets::onResume");
        super.onResume();
        ImageTargetsRenderer.mainActivityHandler = new Handler() {
            private Object toggleButton1;

            @Override
            public void handleMessage(Message msg) {
                Context context = getApplicationContext();
                String text = (String) msg.obj;
                DebugLog.LOGD("main activity received: " + text);

                String fullText = null;
                String titleText = null;
                // Set the layout's text. this is not the best way to do this but ok
                if(text.equals("sidomukti")) {
                    fullText = "Zat Pewarna: Soga Alam. Digunakan : Sebagai kain dalam upacara perkawinan. Unsur Motif : Gurda.Makna Filosofi : Diharapkan selalu dalam kecukupan dan kebahagiaan.";       
                    titleText = "Batik Sidomukti";
                }
                else if(text.equals("ceplok")) {
                        fullText = "Zat Pewarna: Soga Alam. Digunakan : Sebagai kain saat kirab pengantin. Unsur Motif : Parang, Gurda, Meru. Ciri Khas : Kerokan. Makna Filosofi : Dipakai golongan menengah kebawah, agar terlihat gagah.";
                        titleText = "Batik Ceplok Kasatrian";   
                }
                else if(text.equals("uwiri")) {
                    fullText = "Zat Pewarna: Soga Alam. Digunakan : Sebagai “Semek’an” dan Kemben. Dipakai saat upacara “mitoni”. Unsur Motif : Meru, Gurda. Makna Filosofi : Cuwiri artinya kecil-kecil, Diharapkan pemakainya terlihat pantas dan dihormati.";
                    titleText = "Batik Cuwiri";
                }
                else if(text.equals("kawung")) {
                    fullText = "Zat Pewarna: Naphtol. Digunakan : Sebagai Kain Panjang. Unsur Motif : Geometris. Makna Filosofi : Biasa dipakai raja dan keluarganya sebagai lambang keperkasaan dan keadilan.";
                    titleText = "Batik Kawung";   
                }
                else if(text.equals("tambal")) {
                    fullText = "Zat Pewarna: Soga Alam. Digunakan : Sebagai Kain Panjang. Unsur Motif : Ceplok, Parang, Meru dll. Ciri Khas : Kerokan. Makna Filosofi : Ada kepercayaan bila orang sakit menggunakan kain ini sebagai selimut, sakitnya cepat sembuh, karena tambal artinya menambah semangat baru.";
                    titleText = "Batik Tambal";   
                }
                else if(text.equals("ciptoning")) {
                    fullText = "Zat Pewarna: Soga Alam. Digunakan : Sebagai kain panjang. Unsur Motif : Parang, Wayang. Ciri Khas : Kerokan .Makna Filosofi : Diharapkan pemakainya menjadi orang bijak, mampu memberi petunjuk jalan yang benar.";
                    titleText = "Batik Ciptoning";   
                }
                else if(text.equals("nitik")) {
                    fullText = "Zat Pewarna: Soga Alam. Digunakan : Sebagai kain panjang. Ciri Khas : Kerokan. Unsur Motif : Ceplok. Makna Filosofi : Pemakainya orang yang bijaksana.";
                    titleText = "Batik Nitik Karawitan";   
                }
                else if(text.equals("truntum")) {
                    fullText = "Zat Pewarna: Soga Alam. Digunakan : Dipakai saat pernikahan. Ciri Khas : Kerokan. Makna Filosofi : Truntum artinya menuntun, diharapkan orang tua bisa menuntun calon pengantin.";
                    titleText = "Batik Truntum";
                }
                else if(text.equals("udanliris")) {
                    fullText = "Zat Pewarna: Soga Alam. Digunakan : Sebagai kain panjang. Unsur Motif : Kombinasi Geometris dan Suluran. Ciri Khas : Kerokan . Makna Filosofi : Artinya udan gerimis, lambang kesuburan.";
                    titleText = "Batik Udan Liris";
                }
                else if(text.equals("parangkusumo")) {
                    fullText = "Zat Pewarna: Naphtol. Digunakan : Sebagai kain saat tukar cincin. Unsur Motif : Parang, Mlinjon. Ciri Khas : Kerokan. Makna Filosofi : Kusumo artinya bunga yang mekar, diharapkan pemakainya terlihat indah.";
                    titleText = "Batik Parang Kusumo";
                }
                else if(text.equals("parangrusak")) {
                    fullText = "Zat Pewarna: Soga Alam. Digunakan : Sebagai kain panjang. Unsur Motif : Parang, Mlinjon. Ciri Khas : Kerokan. Makna Filosofi : Parang menggambarkan senjata, kekuasaan.Ksatria yang menggunakan motif batik ini bisa berlipat kekuatannya.";
                    titleText = "Batik Parang Rusak Barong";
                }
                else if(text.equals("slobog")) {
                    fullText = "Zat Pewarna: Naphtol. Digunakan : Sebagai kain panjang. Unsur Motif : Ceplok. Ciri Khas : Kerokan. Makna Filosofi : Slobog bisa juga “lobok” atau longgar, kain ini biasa dipakai untuk melayat agar yang meninggal tidak mengalami kesulitan menghadap yang kuasa.";
                    titleText = "Batik Parang Rusak Barong";
                }
               
                // Create the overlay layout if it does not exist. there must be a better way to do this
                if(!overlayCreated){
                    DebugLog.LOGD("creating overlay");
                    // Inflate the overlayView layout
                    overlayView = View.inflate(context, R.layout.interface_overlay, null);
                    addContentView(overlayView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
                    toggleButton1= (ToggleButton) overlayView.findViewById(R.id.toggleButton1);
                    ((View) toggleButton1).setOnClickListener(new View.OnClickListener() {
               

                        public void onClick(View v) {
                            if (((ToggleButton) v).isChecked()) {
                                textView2.setVisibility(View.INVISIBLE);
                               
                            } else {
                                textView2.setVisibility(View.VISIBLE);
                            }
                        }
                    });               

                    overlayCreated = true;
                }
                textView1 = (TextView) overlayView.findViewById(R.id.textView1);
                ((TextView) textView1).setText(titleText);
                textView2 = (TextView) overlayView.findViewById(R.id.textView2);
                ((TextView) textView2).setText(fullText);
               
            }};
        // QCAR-specific resume operation
        QCAR.onResume();
        ...

 // Resume the GL view:
        if (mGlView != null)
        {
            mGlView.setVisibility(View.VISIBLE);
            mGlView.onResume();
        }
        if (mGUIManager != null)
        {
            mGUIManager.initButtons();
        }
    }

...

protected void onPause()
    {
        DebugLog.LOGD("ImageTargets::onPause");
        super.onPause();
       
        if (mGlView != null)
        {
            mGlView.setVisibility(View.INVISIBLE);
            mGlView.onPause();
        }
       
       
        if (mAppStatus == APPSTATUS_CAMERA_RUNNING)
        {
            updateApplicationStatus(APPSTATUS_CAMERA_STOPPED);
        }
        if (mGUIManager != null)
        {
            mGUIManager.deinitButtons();
        }
       
        // QCAR-specific pause operation
        QCAR.onPause();
    }

...

new Runnable() {
                        public void run()
                        {
                            // Hide the splash screen
                            mSplashScreenView.setVisibility(View.INVISIBLE);
                           
                            // Activate the renderer
                            mRenderer.mIsActive = true;
   
                            // Now add the GL surface view. It is important
                            // that the OpenGL ES surface view gets added
                            // BEFORE the camera is started and video
                            // background is configured.
                            addContentView(mGlView, new LayoutParams(
                                            LayoutParams.FILL_PARENT,
                                            LayoutParams.FILL_PARENT));
                            addContentView(mGUIManager.getOverlayView(), new LayoutParams(
                                    LayoutParams.FILL_PARENT,
                                    LayoutParams.FILL_PARENT));
                                   
                            // Start the camera:
                            updateApplicationStatus(APPSTATUS_CAMERA_RUNNING);
                        }
                };

 

 

problem with button and text view

November 14, 2012 - 10:47am #2

About the first part of your question, wasn't it already replied in this post:

https://ar.qualcomm.at/content/error-close-application-or-press-back-button

?

For what concerns the question about multiple targets (not showing multiple buttons/texts), can you post the relevant parts of your code to show the text + button views ?

 

 

Log in or register to post comments