What's new
DroidForums.net | Android Forum & News

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Items not showing on layout?

kraxyk

Member
Hello I am using this code and for some reason the button doesn't show up. Why? Also I tried switching the setcontentView(); to the button. But when that happens the text doesn't show up. How do I show both?

Code:
package com.kmccmk9.CarVoice;

import java.util.Locale;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.widget.Button;
import android.widget.TextView;
import android.os.Bundle;
import android.speech.tts.*;
import android.speech.tts.TextToSpeech.OnInitListener;

public class CarVoice extends Activity implements OnInitListener {
    /** Called when the activity is first created. */
   private TextToSpeech tts;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView lbl_tv = new TextView(this);
        lbl_tv.setText("Welcome to Car Voice. This app was designed for you to never have to use your hand for your phone while you are in the car.");
        lbl_tv.setTextSize(28);
        setContentView(lbl_tv);
        Button cmd_Button = new Button(this);
        cmd_Button.setText("Command");
        AlertDialog.Builder safetybuilder = new AlertDialog.Builder(this);
        safetybuilder.setMessage("Do not use this app while the vehicle is in motion. Doing so can seriously injur yourself or someone else. We are not responsible for anything that may happen. Please use this at your own risk.");
        safetybuilder.setCancelable(false);
        safetybuilder.setPositiveButton("Agree", new DialogInterface.OnClickListener() {
            
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                dialog.cancel();
            }
        });
        
        safetybuilder.setNegativeButton("Close", new DialogInterface.OnClickListener() {
            
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                System.exit(0);
            }
        });
        AlertDialog safety = safetybuilder.create();
        safety.show();
        
        Intent checkIntent = new Intent();
        checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
        startActivityForResult(checkIntent, 0);
        tts = new TextToSpeech(this, this);

    }   
    
    public void onInit(int arg0) {
        // TODO Auto-generated method stub
        String speech1 = "Do not use this app while the vehicle is in motion, Doing so can seriously injur yourself or someone else, We are not responsible for anything that may happen, Please use this at your own risk.";
        String speech2 = "To use this app, Touch the command button, listen to the prompt and say your response, You can say things like, text, phone, or navigation.";
        tts.setLanguage(Locale.US);
        tts.speak(speech1, TextToSpeech.QUEUE_FLUSH, null);
        tts.speak(speech2, TextToSpeech.QUEUE_ADD, null);
    }



}
 
Check out the RelativeLayout tutorial. Most likely you aren't defining where to draw the widgets in /res/layout/main.xml

Sent from my DROID2 GLOBAL using DroidForums App
 
Looking at your code I see some mistakes.
I may recomend you to read manuals, but let me first answer your question :).
So when you invoke setContentView(lbl_tv) you just replace R.layout.main. Is it really what you need? To show both TextView and Button you should write something like this:

super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// for example you have LinearLayout with android:id="@+id/mainLayout" in your main.xml layout
LinearLayout layout = (
LinearLayout) findViewById(R.id.mainLayout);
TextView lbl_tv = new TextView(this);
lbl_tv.setText("Welcome to Car Voice. This app was designed for you to never have to use your hand for your phone while you are in the car.");
lbl_tv.setTextSize(28);
layout.addView(lbl_tv);

Button cmd_Button = new Button(this);
cmd_Button.setText("Command");
layout.addView(cmd_Button);


Now it should work. Please note that you must invoke setContentView(...) before using findViewById(...). Also for simple layouts it's better to define them using XML.
 
Back
Top