Referencing a class button action inside another class
===

I have a voice input class that works absolutely great. However, I want the user of my app to be able to use voice input code on any page of the app. What I need to do is have a button set up on every xml that allows me to use my voice input code without having to copy all of my voice input code into every single class. How do I reference my code so I can simply have something in my code that says if I press this button it does the activity in another class?
The code in order as follows is, voiceinput code java class, java class that I want to be able to have a button that uses this code.

    package com.example.com.proto1;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.content.pm.PackageManager;
    import android.content.pm.ResolveInfo;
    import android.os.Bundle;
    import android.speech.RecognizerIntent;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.ListView;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Sample code that invokes the speech recognition intent API.
     */
    public class VoiceRecognition extends Activity implements OnClickListener {
    
    	
    	
    	public static final int VOICE_RECOGNITION_REQUEST_CODE = 1234;
    
    	public ListView mList;
    	public Button speakButton;
    
    	/**
    	 * Called with the activity is first created.
    	 */
    	@Override
    	public void onCreate(Bundle voiceinput) {
    		super.onCreate(voiceinput);
    
    		// Inflate our UI from its XML layout description.
    		setContentView(R.layout.voice_recognition);
    
    		// Get display items for later interaction
    		
    		voiceinputbuttons();
    		
    
    		// Check to see if a recognition activity is present
    		PackageManager pm = getPackageManager();
    		List<ResolveInfo> activities = pm.queryIntentActivities(new Intent(
    				RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
    		if (activities.size() != 0) {
    			speakButton.setOnClickListener(this);
    		} else {
    			speakButton.setEnabled(false);
    			speakButton.setText("Recognizer not present");
    		}
    	}
    
    	public void voiceinputbuttons() {
    		// TODO Auto-generated method stub
    		speakButton = (Button) findViewById(R.id.btn_speak);
    		mList = (ListView) findViewById(R.id.list);
    	}
    
    	/**
    	 * Handle the click on the start recognition button.
    	 */
    	public void onClick(View v) {
    		if (v.getId() == R.id.btn_speak) {
    			startVoiceRecognitionActivity();
    		}
    	}
    
    	/**
    	 * Fire an intent to start the speech recognition activity.
    	 */
    	public void startVoiceRecognitionActivity() {
    		Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    		intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
    				RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    		intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
    				"Speech recognition demo");
    		startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
    	}
    
    	/**
    	 * Handle the results from the recognition activity.
    	 */
    	@Override
    	public void onActivityResult(int requestCode, int resultCode, Intent data) {
    		if (requestCode == VOICE_RECOGNITION_REQUEST_CODE
    				&& resultCode == RESULT_OK) {
    			// Fill the list view with the strings the recognizer thought it
    			// could have heard
    			ArrayList<String> matches = data
    					.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
    			mList.setAdapter(new ArrayAdapter<String>(this,
    					android.R.layout.simple_list_item_1, matches));
    			//matches is the result of voice input. It is a list of what the user possibly said.
    			//Using an if statement for the keyword you want to use allows the use of any activity if keywords match
    			//it is possible to set up multiple keywords to use the same activity so more than one word will allow the user 
    			//to use the activity (makes it so the user doesn't have to memorize words from a list)
    			//to use an activity from the voice input information simply use the following format;
    			//if (matches.contains("keyword(s) here") {  startActivity(new Intent("name.of.manifest.ACTIVITY")
    		
    			if (matches.contains("information")) {
    				startActivity(new Intent("android.intent.action.INFOSCREEN"));
    			}
    
    			if (matches.contains("home")) {
    				startActivity(new Intent("android.intent.action.MENU"));
    			}
    
    		}
    
    		super.onActivityResult(requestCode, resultCode, data);
    
    	}
    }











    package com.example.com.proto1;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.content.pm.PackageManager;
    import android.content.pm.ResolveInfo;
    import android.speech.RecognizerIntent;
    import android.view.View.OnClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.speech.tts.TextToSpeech;
    import java.util.ArrayList;
    import java.util.List;
    
    public class menu extends Activity implements TextToSpeech.OnInitListener {
    
    	MediaPlayer sep, aep, vpm;
    
    	TextToSpeech mTts;
    
    	public void onInit(int i) {
    		// TODO Auto-generated method stub
    		mTts.speak("EyePhone Main Menu", TextToSpeech.QUEUE_FLUSH, null);
    
    	}
    
    	@Override
    	protected void onCreate(Bundle aboutmenu) {
    		// TODO Auto-generated method stub
    		super.onCreate(aboutmenu);
    		setContentView(R.layout.mainx);
    
    
    		// Setting up the button references
    		Button info = (Button) findViewById(R.id.aboutbutton);
    		Button voice = (Button) findViewById(R.id.voicebutton);
    		Button speakButton = (Button) findViewById(R.id.btn_speak);
    		
    		info.setOnClickListener(new View.OnClickListener() {
    
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				startActivity(new Intent("android.intent.action.INFOSCREEN"));
    
    			}
    		});
    
    		voice.setOnClickListener(new View.OnClickListener() {
    
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				try {
    					Intent voiceIntent = new Intent(
    							"android.intent.action.RECOGNITIONMENU");
    					startActivity(voiceIntent);
    				} catch (Exception e) {
    
    				}
    			}
    		});
    
    		speakButton.setOnClickListener(new View.OnClickListener() {
    
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				try {
    				
    					//this is the place where I thought the code should go that I am asking about
    
    				} catch (Exception e) {
    
    				}
    			}
    
    		});
    
    	}
    
    }


