我的应用程序不会更改启动活动

时间:2014-05-25 15:31:14

标签: java android android-activity android-menu

enter image description here我试图改变发布活动,但遇到一个空白屏幕,说"方法" (从@new_name字符串中提取)。
  我试图更改它,以便MainMenu将启动而不是activity_main 表现          

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <permission
        android:name="com.ngshah.googlemapv2.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.ngshah.googlemapv2.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyACv08wBcZ2io9lTwm2OYY1XnSx4CvT8nE" />
<meta-data android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" />
        <activity
            android:name="com.kieranmaps.v2maps.MainActivity"
            android:label="@string/app_name" >

        </activity>
        <activity
            android:name="com.kieranmaps.v2maps.NewActivity"
            android:label="@string/new_name">
                  <intent-filter>   ///**note** this is where I changed around activity
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>    

我已经改变了实际的NewActivity,这是我现在想要启动的活动,我想让它显示mainmenu.xml

NewActivity:

package com.kieranmaps.v2maps;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.json.JSONObject;

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.maps.model.PolylineOptions;

public class NewActivity extends FragmentActivity {


public void addListenerOnButtonNews() {
    setContentView(R.layout.mainmenu);

Button button = (Button) findViewById(R.id.button9);

button.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent intent = new Intent(getApplicationContext(), NewActivity.class);
        startActivity(intent);   

    }
});

}

;

 protected void onCreate11(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainmenu);
        }




public void addListenerOnButtonGPS() {

Button button = (Button) findViewById(R.id.button1);

button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
   startActivity(intent);   

}});  
}  
}

MainActivity(这是我的旧发射器活动)

package com.kieranmaps.v2maps;

import java.util.Hashtable;
import android.content.Context;
import android.location.Location;
import android.app.ActivityManager;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.InfoWindowAdapter;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import com.kieranmaps.v2maps.R;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.FIFOLimitedMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.assist.SimpleImageLoadingListener;

public class MainActivity extends FragmentActivity {

    private GoogleMap googleMap;
    private final LatLng OREILLYS = new LatLng(53.348347, -6.254119);
    private final LatLng LAGOONA = new LatLng(53.349810, -6.243160);
    private final LatLng COPPERS = new LatLng (53.335356, -6.263481);
    private final LatLng WRIGHTS = new LatLng (53.445491, -6.223857);
    private final LatLng ACADEMY = new LatLng (53.348045,-6.26198);
    private final LatLng DICEYS = new LatLng (53.347250, -6.254198);
    private final LatLng PYGMALION = new LatLng (53.342183,-6.262358);
    private final LatLng FIBBERS = new LatLng (53.352799,-6.260412);
//  private final LatLng TEST = new LatLng (5352799,-6.260412);


    private Marker marker;
    private Hashtable<String, String> markers;
    private ImageLoader imageLoader;
    private DisplayImageOptions options;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                .getMap();

        initImageLoader();
        markers = new Hashtable<String, String>();
        imageLoader = ImageLoader.getInstance();

        options = new DisplayImageOptions.Builder()
            .showStubImage(R.drawable.ic_launcher)      //  Display Stub Image
            .showImageForEmptyUri(R.drawable.ic_launcher)   //  If Empty image found
            .cacheInMemory()
            .cacheOnDisc().bitmapConfig(Bitmap.Config.RGB_565).build();

        if ( googleMap != null ) {

            googleMap.setInfoWindowAdapter(new CustomInfoWindowAdapter());

            final Marker oreillys = googleMap.addMarker(new MarkerOptions().position(OREILLYS)
                        .title("O Reillys"));
            markers.put(oreillys.getId(), "http://img.india-forums.com/images/100x100/37525-a-still-image-of-akshay-kumar.jpg");

            googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(OREILLYS, 15));
            googleMap.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);

            final Marker coppers = googleMap.addMarker(new MarkerOptions().position(COPPERS)
                    .title("Coppers"));
            markers.put(coppers.getId(), "http://f3.thejournal.ie/media/2011/11/coppers1-390x285.png");

            final Marker wrights = googleMap.addMarker(new MarkerOptions().position(WRIGHTS)
                    .title("The Wright Venue"));
            markers.put(wrights.getId(), "http://www.turbosound.com/public/images/news_img_thumbs/Wright_Venue_Dancefloor-thumb.jpg");

            final Marker lagoona = googleMap.addMarker(new MarkerOptions().position(LAGOONA)
                    .title("The Lagoona"));
            markers.put(lagoona.getId(), "http://www.turbosound.com/public/images/news_img_thumbs/Wright_Venue_Dancefloor-thumb.jpg");

            final Marker academy = googleMap.addMarker(new MarkerOptions().position(ACADEMY)
                    .title("The Academy"));
            markers.put(academy.getId(), "http://www.turbosound.com/public/images/news_img_thumbs/Wright_Venue_Dancefloor-thumb.jpg");

            final Marker pygmalion = googleMap.addMarker(new MarkerOptions().position(PYGMALION)
                    .title("The Pygmalion"));
            markers.put(pygmalion.getId(), "http://www.turbosound.com/public/images/news_img_thumbs/Wright_Venue_Dancefloor-thumb.jpg");

            final Marker fibbers = googleMap.addMarker(new MarkerOptions().position(FIBBERS)
                    .title("Fibbers"));
            markers.put(fibbers.getId(), "http://www.turbosound.com/public/images/news_img_thumbs/Wright_Venue_Dancefloor-thumb.jpg");

            final Marker diceys = googleMap.addMarker(new MarkerOptions().position(DICEYS)
                    .title("Dicey's"));
            markers.put(diceys.getId(), "https://dublinnow.files.wordpress.com/2012/05/diceys.jpg");

     /*     final Marker diceys = googleMap.addMarker(new MarkerOptions()
            .position(DICEYS)
            .title("Diceys")
            .snippet("Drink Deal: 3.50. Adm: 5, Performance: Gen"));

            Marker marker = GoogleMap.addMarker(new MarkerOptions()
            .position(latLng)
            .title("Title")
            .snippet("Snippet")
            .icon(BitmapDescriptorFactory
            .fromResource(R.drawable.marker))); */

//marker.showInfoWindow();
        }

    }

    private class CustomInfoWindowAdapter implements InfoWindowAdapter {

        private View view;

        public CustomInfoWindowAdapter() {
            view = getLayoutInflater().inflate(R.layout.custom_info_window,
                    null);
        }

        @Override
        public View getInfoContents(Marker marker) {

            if (MainActivity.this.marker != null
                    && MainActivity.this.marker.isInfoWindowShown()) {
                MainActivity.this.marker.hideInfoWindow();
                MainActivity.this.marker.showInfoWindow();
            }
            return null;
        }

        @Override
        public View getInfoWindow(final Marker marker) {
            MainActivity.this.marker = marker;

            String url = null;

            if (marker.getId() != null && markers != null && markers.size() > 0) {
                if ( markers.get(marker.getId()) != null &&
                        markers.get(marker.getId()) != null) {
                    url = markers.get(marker.getId());
                }
            }
            final ImageView image = ((ImageView) view.findViewById(R.id.badge));

            if (url != null && !url.equalsIgnoreCase("null")
                    && !url.equalsIgnoreCase("")) {
                imageLoader.displayImage(url, image, options,
                        new SimpleImageLoadingListener() {
                            @Override
                            public void onLoadingComplete(String imageUri,
                                    View view, Bitmap loadedImage) {
                                super.onLoadingComplete(imageUri, view,
                                        loadedImage);
                                getInfoContents(marker);
                            }
                        });
            } else {
                image.setImageResource(R.drawable.ic_launcher);
            }
//
            final String title = marker.getTitle();
            final TextView titleUi = ((TextView) view.findViewById(R.id.title));
            if (title != null) {
                titleUi.setText(title);
            } else {
                titleUi.setText("");
            }

            final String snippet = marker.getSnippet();
            final TextView snippetUi = ((TextView) view
                    .findViewById(R.id.snippet));
            if (snippet != null) {
                snippetUi.setText(snippet);
            } else {
                snippetUi.setText("");
            }

            return view;
        }
    }

    private void initImageLoader() {
        int memoryCacheSize;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) {
            int memClass = ((ActivityManager) 
                    getSystemService(Context.ACTIVITY_SERVICE))
                    .getMemoryClass();
            memoryCacheSize = (memClass / 8) * 1024 * 1024;
        } else {
            memoryCacheSize = 2 * 1024 * 1024;
        }
        googleMap.setMyLocationEnabled(true);           
        final ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
                this).threadPoolSize(5)
                .threadPriority(Thread.NORM_PRIORITY - 2)
                .memoryCacheSize(memoryCacheSize)
                .memoryCache(new FIFOLimitedMemoryCache(memoryCacheSize-1000000))
                .denyCacheImageMultipleSizesInMemory()
                .discCacheFileNameGenerator(new Md5FileNameGenerator())
                .tasksProcessingOrder(QueueProcessingType.LIFO).enableLogging() 
                .build();

        ImageLoader.getInstance().init(config);
    }
    public void onLocationChanged(Location loc){
        googleMap.setMyLocationEnabled(true);               
    }     

MainMenu.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    tools:context=".NewActivity" >


    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Club Deals"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="GPS locations" />
    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Closest Deals"
        android:onClick="open_close_deals" />

    <Button
        android:id="@+id/button6"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Cheapest Deals"
        android:onClick="open_cheap_deals" />


    <Button
        android:id="@+id/button7"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Best Value Deals"
        android:onClick="best_value" />

    <Button
        android:id="@+id/button8"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Best Events"
        android:onClick="best_events" />

    <Button
        android:id="@+id/button9"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="News" 
        android:onClick="news"/>
</LinearLayout>

由于某种原因,LogCat根本不会显示任何内容。我会看看我是否能找出原因并随之更新。

1 个答案:

答案 0 :(得分:1)

您需要更改此

 protected void onCreate11(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainmenu);
    }

Button button,button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainmenu);
    button = (Button) findViewById(R.id.button9);
    button1 = (Button) findViewById(R.id.button1);
    addListenerOnButtonNews();     
    addListenerOnButtonGPS() 
    }

也改为

public void addListenerOnButtonNews() {
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
    Intent intent = new Intent(getApplicationContext(), NewActivity.class);
    startActivity(intent);   

}
});
}

public void addListenerOnButtonGPS() {
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);   

}});  
}