开发者

Android Google Analytics (R.id) Renaming Buttons

Button createEventButton = (Button)findViewById(R.id.NewEventButton);

Button createPageButton = (Button)findViewById(R.id.NewPageButton);

Hallo I have searched all over but I don't get it. Should I change the "NewEventButton" to something like "button01". The problem is that if I change it, the button it stops working, normal the button when is clicked it opens the phone browser and navigate to a website.

The same happens with the "NewPageButton", eclipse asking to be changed also to "button01" for example.

If I leave them as it is, I have errors like "cannot be resolver or is not a field"

Thanks in advance

UPDATE Thats the main xml file,

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
android:background="@drawable/aevbackground"
android:id="@+id/main"
    >

    <Button android:text="Other" android:id="@+id/button9" android:layout_width="wrap_content" android:layout_height="33dp" 
android:onClick="myonclick1" android:layout_gravity="bottom|right"></Button>

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:layout_gravity="center"
   android:orientation="vertical">
   <TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello1"
    />

<Button android:text="Home" android:id="@+id/button01" android:layout_width="230dp" android:layout_height="34dp" 
android:onClick="openBrowser1"></Button>
<Button android:text="Forum" android:id="@+id/button2" android:layout_width="210dp" android:layout_height="34dp" 
android:onClick="openBrowser2"></Button>
<Button android:text="FOC" android:id="@+id/button3" android:layout_width="190dp" android:layout_height="34dp" 
android:onClick="openBrowser3"></Button>
<Button android:text="ON TFC" android:id="@+id/button4" android:layout_width="170dp" android:layout_height="34dp" 
android:onClick="openBrowser4"></Button>
<Button android:text="At Facebook" android:id="@+id/button5" android:layout_width="150dp" android:layout_height="34dp" 
android:onClick="openBrowser5"></Button>
<Button android:text="At Twitter" android:id="@+id/button6" android:layout_width="130dp" android:layout_height="34dp" 
android:onClick="openBrowser6"></Button>
<Button android:text="At Google+" android:id="@+id/button7" android:layout_width="110dp" android:layout_height="34dp" 
android:onClick="openBrowser7"></Button>     
<Button android:text="@string/linkEmail" android:id="@+id/button8" android:layout_width="90dp" android:layout_height="34dp" 
android:onClick="linkEmailClicked"></Button>

</LinearLayout>

</FrameLayout>

Thats the main java file with Google analytics

package com.av0001;


import com.google.android.apps.analytics.GoogleAnalyticsTracker;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class Main extends Activity {
    /** Called when the activity is first created. */

    GoogleAnalyticsTracker tracker;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        tracker = GoogleAnalyticsTracker.getInstance();
     // Start the tracker in manual dispatch mode...
        tracker.startNewSession("UA-25624837-1", this);
        setContentView(R.layout.main);

        Button createEventButton = (Button)findViewById(R.id.button01);
        createEventButton.setOnClickListener(new OnClickListener() {
          @Override
          public void onClick(View v) {
            tracker.trackEvent(
                "Clicks",  // Category
                "Button",  // Action
                "clicked", // Label
                77);       // Value
          }
        });

        Button createPageButton = (Button)findViewById(R.id.button01);
        createPageButton.setOnClickListener(new OnClickListener() {
          @Override
          public void onClick(View v) {
            // Add a Custom Variable to this pageview, with name of "Medium" and value "MobileApp" and
            // scope of session-level.
            tracker.setCustomVar(1, "Navigation Type", "Button click", 2);
            // Track a page view. This is probably the best way to track which parts of your application
            // are being used.
            // E.g.
            // tracker.trackPageView("/help"); to track someone looking at the help screen.
            // tracker.trackPageView("/level2"); to track someone reaching level 2 in a game.
            // tracker.trackPageView("/uploadScreen"); to track someone using an upload screen.
            tracker.trackPageView("/mainspalsh");
            tracker.trackPageView("/main");
            tracker.trackPageView("/main2");
            tracker.trackPageView("/main3");

          }
        });

        Button quitButton = (Button)findViewById(R.id.button01);
        quitButton.setOnClickListener(new OnClickListener() {
          @Override
          public void onClick(View v) {
            finish();
          }
        });

        Button dispatchButton = (Button)findViewById(R.id.button01);
        dispatchButton.setOnClickListener(new OnClickListener() {
          @Override
          public void onClick(View v) {
            // Manually start a dispatch, not needed if the tracker was started with a dispatch
            // interval.
            tracker.dispatch();
          }
        });
      }
        public void openBrowser1(View view) {
            Intent i = new Intent("android.intent.action.VIEW", Uri.parse(""));
           startActivity(i);
        }
        public void openBrowser2(View view) {
            Intent i = new Intent("android.intent.action.VIEW", Uri.parse(""));
            startActivity(i);
        }
        public void openBrowser3(View view) {
            Intent i = new Intent("android.intent.action.VIEW", Uri.parse(""));
            startActivity(i);
        }
        public void openBrowser4(View view) {
            Intent i = new Intent("android.intent.action.VIEW", Uri.parse(""));
            startActivity(i); 
        }
        public void openBrowser5(View view) {
            Intent i = new Intent("android.intent.action.VIEW", Uri.parse(""));
            startActivity(i);    
        }
        public void openBrowser6(View view) {
            Intent i = new Intent("android.intent.action.VIEW", Uri.parse(""));
            startActivity(i);
        }
        public void openBrowser7(View view) {
            Intent i = new Intent("android.intent.action.VIEW", Uri.parse(""));
            startActivity(i);
        } 
        public void linkEmailClicked(View v) {
            Intent it = new Intent(Intent.ACTION_SEND);
            String[] tos = {getString(R.string.emailAddress)};
            it.putExtra(Intent.EXTRA_EMAIL, tos);
            it.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.emailSubject));
            it.setType("text/plain");
            startActivity(it);
        }
        public void myonclick1(View view) {
            Intent mIntent = new Intent(this,Main2.class);
            startActivity(mIntent);
            Toast.makeText(
                    this,
                    "Thank you for using xxxxxxxxxxxxxxxxxxxxxx application, enjoy browsing :)", Toast.LENGTH_LONG).show();
            finish();  
     开发者_如何学C   }
            @Override
            protected void onStart() {
                super.onStart();
                // The activity is about to become visible.
            }
            @Override
            protected void onResume() {
                super.onResume();
                // The activity has become visible (it is now "resumed").
            }
            @Override
            protected void onPause() {
                super.onPause();
                // Another activity is taking focus (this activity is about to be "paused").
            }
            @Override
            protected void onStop() {
                super.onStop();
                // The activity is no longer visible (it is now "stopped")
            }
            @Override
            protected void onDestroy() {
                super.onDestroy();
                // The activity is about to be destroyed.
             // Stop the tracker when it is no longer needed.
                tracker.stopSession();
            }
        }


Sounds to me that you are renaming it but not changing the XML layout id name and hence the R.java does not have the new name. If you are changing the XML too, then you are not re-compiling the project. Make sure to have the auto-compile selected in your Eclipse environment. Go to Project -> Build Automatically and make sure it has a check mark next to it.

----Alternate Suggestions ---- What version of eclipse are you using and ADB...you might have to upgrade to the latest and reinstal ADB.... I had something similar with compilation errors and only upgrading and re-install worked. your code compiles fine for me. Not sure how your going to reach some of these methods and you do have 4 listeners listening to the same button R.id.button01. Here is your code running in my eclipse:

Android  Google Analytics (R.id) Renaming Buttons

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜