Android Google Analytics (R.id) Кнопки переименования - PullRequest
0 голосов
/ 12 сентября 2011
Button createEventButton = (Button)findViewById(R.id.NewEventButton);

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

Привет. Я все обыскал, но не понял.Должен ли я изменить «NewEventButton» на что-то вроде «button01».Проблема в том, что, если я изменяю его, кнопка перестает работать, обычно при нажатии кнопки открывается браузер телефона и происходит переход на веб-сайт.

То же самое происходит с "NewPageButton", затмение проситтакже можно изменить, например, на «button01».

Если я оставлю их как есть, у меня появятся ошибки типа «не может быть решателем или не является полем»

Заранее спасибо

ОБНОВЛЕНИЕ Это основной файл XML,

<?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>

Это основной файл Java с 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();  
        }
            @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();
            }
        }

1 Ответ

1 голос
/ 12 сентября 2011

Мне кажется, что вы переименовываете его, но не меняете имя идентификатора макета XML, и, следовательно, R.java не имеет нового имени. Если вы тоже меняете XML, вы не перекомпилируете проект. Убедитесь, что автокомпиляция выбрана в вашей среде Eclipse. Зайдите в Проект -> Автоматически построить и убедитесь, что рядом с ним стоит галочка.

---- Альтернативные предложения ---- Какую версию Eclipse вы используете и ADB ... вам, возможно, придется обновить до последней версии и переустановить ADB .... У меня было что-то похожее с ошибками компиляции, и работали только обновление и переустановка. ваш код компилируется нормально для меня. Не уверен, как вы достигнете некоторых из этих методов, и у вас есть 4 слушателя, слушающих одну и ту же кнопку R.id.button01. Вот ваш код, запущенный в моем затмении:

enter image description here

...