Incapaz de implementar o código de diálogo personalizada no Android

votos
-1

Eu quero implementar diálogo personalizada no Android. No entanto, quando eu tentei no meu próprio eu sou incapaz de executar o meu código.

Estou recebendo um erro nestas declarações em Eclipse:
1)Button button1main = (Button) findViewById(R.id.*btn1*);

2) TextView text = (TextView) dialog.findViewById(R.id.*txt3*);

Meu código Android é:

package com.example;

import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class Main2 extends Activity {

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

        Button button1main = (Button) findViewById(R.id.btn1);
        button1main.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Dialog dialog = new Dialog(Main2.this);
                dialog.setContentView(R.layout.maindialog);
                dialog.setTitle(This is my custom dialog box);
                dialog.setCancelable(true);

                TextView text = (TextView) dialog.findViewById(R.id.txt3);
                text.setText(R.string.lots_of_text); 

                Button button = (Button) dialog.findViewById(R.id.Button01);
                button.setOnClickListener(new OnClickListener() {

                    public void onClick(View v) {
                        finish();
                    }
                });

                dialog.show();
            }

        });
    } 
}

Aqui estão do meu xml: front.xml

<?xml version=1.0 encoding=utf-8?>
<RelativeLayout
    android:id=@+id/RelativeLayout01
    android:layout_width=fill_parent
    android:layout_height=fill_parent
    xmlns:android=http://schemas.android.com/apk/res/android>


  <TextView
     android:id=@+id/txt3
     android:layout_width=wrap_content
     android:layout_height=wrap_content
     android:text=This is my main activity, from here, I want to display a dialog, after the user clicked the button below this text./>

  <Button
      android:layout_height=wrap_content
      android:layout_below=@+id/txt3
      android:layout_width=wrap_content
      android:id=@+id/btn1
      android:text=Hey! There is more.../>

</RelativeLayout>

maindialog.xml

<?xml version=1.0 encoding=utf-8?>

<RelativeLayout>

  xmlns:android=http://schemas.android.com/apk/res/android
  android:layout_width=wrap_content android:layout_height=wrap_content>

  <ScrollView>
    android:id=@+id/ScrollView01
    android:layout_width=wrap_content
    android:layout_height=200px>

    <TextView>
      android:text=@+id/txt3
      android:layout_width=wrap_content android:layout_height=wrap_content>
    </TextView>

  </ScrollView>


  <Button>
    android:id=@+id/Button01
    android:layout_below=@id/ScrollView01
    android:layout_width=wrap_content
    android:layout_height=wrap_content
    android:layout_centerHorizontal=true
    android:text=Cancel
  </Button>

</RelativeLayout>

Eu não sou capaz de executar o meu código no Eclipse até que eu remover esses erros linha vermelha no acima mencionado statements..Can alguém pode me ajudar?

obrigado

Publicado 28/10/2011 em 06:55
fonte usuário
Em outras línguas...                            


1 respostas

votos
3

Você tem erros em sua sintaxe XML.

<RelativeLayout>  <- this is wrong
    android:id="@+id/RelativeLayout01&quot; 
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android">

Você precisa remover ">", isso se aplica a todos os elementos, não só disposição relativa

<RelativeLayout
    android:id="@+id/RelativeLayout01&quot; 
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android">
Respondeu 28/10/2011 em 07:50
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more