2011-10-17 6 views
1

J'ai séparé mon application en 3 classes. la classe principale où l'utilisateur peut choisir quelle fonction utiliser. La fonction de la carte fonctionne très bien, mais les fonctions de ma direction ne le sont pas lorsque l'utilisateur clique sur le bouton provoque une force proche, je pense que cela a quelque chose à voir avec la mise en page.Une nouvelle intention crée une force close

fichier principal de classe

package com.sammy.umass; 

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



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



//buttons 
private Button goHereButton; 
private Button mapButton; 
private Button spireButton; 
private Button sparkButton; 
private Button websiteButton; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    goHereButton = (Button) findViewById(R.id.button1); 
    goHereButton.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View arg0) 
     { 
     Intent i = new Intent(UMassGuide.this, DirectionsScreenActivity.class); 
     startActivity(i); 
     } 
    }); 

    mapButton = (Button) findViewById(R.id.button2); 
    mapButton.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View arg0) 
     { 
     Intent i = new Intent(UMassGuide.this, UmassMap.class); 
     startActivity(i); 
     } 
    }); 

    spireButton = (Button) findViewById(R.id.button3); 
    spireButton.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View arg0) 
     { 
      Uri uri = Uri.parse("https://spire.umass.edu/psp/heproda/EMPLOYEE/HRMS/?cmd=login&languageCd=ENG&"); 
      Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); 
     } 
    }); 

    sparkButton = (Button) findViewById(R.id.button4); 
    sparkButton.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View arg0) 
     { 
      Uri uri = Uri.parse("https://spark.oit.umass.edu/webct/logonDisplay.dowebct"); 
      Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); 
     } 
    }); 

    websiteButton = (Button) findViewById(R.id.button5); 
    websiteButton.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View arg0) 
     { 
      Uri uri = Uri.parse("http://www.umass.edu/"); 
      Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); 
     } 
    }); 




} 
} 

Directions fichier (Force Close arrive quand ce cours est en cours d'ouverture)

package com.sammy.umass; 

import android.app.ExpandableListActivity; 
import android.os.Bundle; 
import android.view.ContextMenu; 
import android.view.Gravity; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ViewGroup; 
import android.view.ContextMenu.ContextMenuInfo; 
import android.widget.AbsListView; 
import android.widget.BaseExpandableListAdapter; 
import android.widget.ExpandableListAdapter; 
import android.widget.ExpandableListView; 
import android.widget.TextView; 
import android.widget.Toast; 
import android.widget.ExpandableListView.ExpandableListContextMenuInfo; 


public class DirectionsScreenActivity extends ExpandableListActivity { 
ExpandableListAdapter mAdapter; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // Set up our adapter 
    mAdapter = new MyExpandableListAdapter(); 
    setListAdapter(mAdapter); 
    registerForContextMenu(getExpandableListView()); 
} 

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
    menu.setHeaderTitle("Sample menu"); 
    menu.add(0, 0, 0, R.string.expandable_list_sample_action); 
} 

@Override 
public boolean onContextItemSelected(MenuItem item) { 
    ExpandableListContextMenuInfo info = (ExpandableListContextMenuInfo) item.getMenuInfo(); 

    String title = ((TextView) info.targetView).getText().toString(); 

    int type = ExpandableListView.getPackedPositionType(info.packedPosition); 
    if (type == ExpandableListView.PACKED_POSITION_TYPE_CHILD) { 
     int groupPos = ExpandableListView.getPackedPositionGroup(info.packedPosition); 
     int childPos = ExpandableListView.getPackedPositionChild(info.packedPosition); 
     Toast.makeText(this, title + ": Child " + childPos + " clicked in group " + groupPos, 
       Toast.LENGTH_SHORT).show(); 
     return true; 
    } else if (type == ExpandableListView.PACKED_POSITION_TYPE_GROUP) { 
     int groupPos = ExpandableListView.getPackedPositionGroup(info.packedPosition); 
     Toast.makeText(this, title + ": Group " + groupPos + " clicked", Toast.LENGTH_SHORT).show(); 
     return true; 
    } 

    return false; 
} 

/** 
* A simple adapter which maintains an ArrayList of photo resource Ids. 
* Each photo is displayed as an image. This adapter supports clearing the 
* list of photos and adding a new photo. 
* 
*/ 
public class MyExpandableListAdapter extends BaseExpandableListAdapter { 
    // Sample data set. children[i] contains the children (String[]) for groups[i]. 
    private String[] groups = { " Academic Buildings", " Residential Buildings", " Dining Commons", " All Buildings A-Z" }; 
    private String[][] children = { 
      { "Agricultural Engineering Bldg", "Army ROTC Bldg", "Arnold House", "(Studio) Arts Building" }, 
      { "Baker Hall", "Brett Hall", "Brooks Hall", "Brown Hall" }, 
      { "Berkshire", "Franklin","Hampden","Hampshire","Worcester" }, 
      { "Agricultural Engineering Bldg", "Army ROTC Bldg", "Arnold House", "(Studio) Arts Building" } 
    }; 

    public Object getChild(int groupPosition, int childPosition) { 
     return children[groupPosition][childPosition]; 
    } 

    public long getChildId(int groupPosition, int childPosition) { 
     return childPosition; 
    } 

    public int getChildrenCount(int groupPosition) { 
     return children[groupPosition].length; 
    } 

    public TextView getGenericView() { 
     // Layout parameters for the ExpandableListView 
     AbsListView.LayoutParams lp = new AbsListView.LayoutParams(
       ViewGroup.LayoutParams.MATCH_PARENT, 64); 

     TextView textView = new TextView(DirectionsScreenActivity.this); 
     textView.setLayoutParams(lp); 
     // Center the text vertically 
     textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT); 
     // Set the text starting position 
     textView.setPadding(36, 0, 0, 0); 
     return textView; 
    } 

    public View getChildView(int groupPosition, int childPosition, boolean isLastChild, 
      View convertView, ViewGroup parent) { 
     TextView textView = getGenericView(); 
     textView.setText(getChild(groupPosition, childPosition).toString()); 
     return textView; 
    } 

    public Object getGroup(int groupPosition) { 
     return groups[groupPosition]; 
    } 

    public int getGroupCount() { 
     return groups.length; 
    } 

    public long getGroupId(int groupPosition) { 
     return groupPosition; 
    } 

    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, 
      ViewGroup parent) { 
     TextView textView = getGenericView(); 
     textView.setText(getGroup(groupPosition).toString()); 
     return textView; 
    } 

    public boolean isChildSelectable(int groupPosition, int childPosition) { 
     return true; 
    } 

    public boolean hasStableIds() { 
     return true; 
    } 

} 
} 
+0

Veuillez publier le journal des exceptions. – Jack

+0

Comment je fais ça? Merci! im en utilisant éclipse btw! –

+0

Il y a un logcat dans eclipse. Si vous utilisez Windows, vous pouvez trouver logcat dans Window-> Showview-> Logcat. Il y aura des lignes d'erreur. C'est ce que vous devez publier en tant que pile de pile. – blessenm

Répondre

9

Avez-vous ajouté le DirectionScreenActivity à votre fichier Manifest? Sinon, cela pourrait causer un accident mortel.

+0

C'est exactement le problème! Je l'ai fait. –

Questions connexes