Jump to content
Silva Mateus

JavaFx - Caused by: java.lang.StackOverflowError

Recommended Posts

Olá estou com um problema em minhas classes Java. Quando tento criar um novo "Fornecedor", o console me resulta o Caused by: java.lang.StackOverflowError. 

Aqui estão as minhas classes que interagem entre si. Se alguém poder me auxiliar na resolução deste problema, agradeço. 

package view;

import application.Main;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.stage.Stage;
import model.Fornecedor;
import model.Produto;

public class FornecedorOverViewController {
	
    @FXML
    private TableView<Fornecedor> tabelaFornecedor;

    @FXML
    private TableColumn<Fornecedor, Integer> idFornecedor;

    @FXML
    private TableColumn<Fornecedor, String> nomeFornecedor;

    @FXML
    private TableColumn<Fornecedor, String> telefoneFornecedor;
    
    @FXML
    private Label nome;
    
    @FXML
    private Label telefone;
	 
    
    public FornecedorOverViewController() {
    	
    }
    int i = 0;

	private Main main;


    @FXML
    private void initialize() {

         nomeFornecedor.setCellValueFactory(
        		 cellData -> cellData.getValue().nomeProperty());
         telefoneFornecedor.setCellValueFactory(
        		 cellData -> cellData.getValue().telefoneProperty());
         idFornecedor.setCellValueFactory(new PropertyValueFactory<>("id"));
         showFornecedorDetails(null);

         tabelaFornecedor.getSelectionModel().selectedItemProperty().addListener(
 				(observable, oldValue, newValue) -> showFornecedorDetails(newValue));
         
    }
    public void setMainI(Main main) {
        this.main = main;
        tabelaFornecedor.setItems(main.getFornecedorData());
    }
  
    private void showFornecedorDetails(Fornecedor fornecedor) {
    	if (fornecedor != null) {
    		 nome.setText(fornecedor.getNome());
    		 telefone.setText(fornecedor.getTelefone());
    	} else {
    		 nome.setText(" ");
    		 telefone.setText(" ");
    	}
    }
   	@FXML
   	private void handleDeleteFornecedor() {
   		int selectedIndex = tabelaFornecedor.getSelectionModel().getSelectedIndex();
   		if (selectedIndex >= 0) {
   			tabelaFornecedor.getItems().remove(selectedIndex);
   		} else {
   		}
   	}
	@FXML
	private void handleNewFornecedor() {
		Fornecedor newFornecedor = new Fornecedor(null,0);
		boolean okClicked = main.showFornecedorEditDialog(newFornecedor);
		if (okClicked) {
			main.getFornecedorData().add(newFornecedor);
		}
	}

}
package application;

import java.io.IOException;


import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import model.Categoria;
import model.Fornecedor;
import model.Produto;
import model.Usuario;
import view.FornecedorEditDialog;
import view.FornecedorOverViewController;
import view.LoginController;
import view.ProdutoEditDialog;
import view.ProdutoOverViewController;
import view.RootLayoutController;

public class Main extends Application {


	private Stage primaryStage;
	private BorderPane rootLayout;
	private AnchorPane loginLayout;
 
	private ObservableList<Produto> produtoData = FXCollections.observableArrayList();
	private ObservableList<Fornecedor> fornecedorData = FXCollections.observableArrayList();
	private ObservableList<Usuario> usuarioData = FXCollections.observableArrayList();
	private ObservableList<Categoria> categoriaData = FXCollections.observableArrayList();
 
	public Main() {
		int i =0;
		produtoData.add(new Produto("Skol", 5.99, ++i,199));
		produtoData.add(new Produto("Budweiser", 8.99, ++i,2002));
		produtoData.add(new Produto("Heineken", 12.00, ++i,22));
		i = 0;
		fornecedorData.add(new Fornecedor("Ambev", ++i));
		fornecedorData.add(new Fornecedor("Cervejaria Heineken", ++i));
		fornecedorData.add(new Fornecedor("Coca-Cola", ++i));
		fornecedorData.add(new Fornecedor("Fonte-Ijuí", ++i));
		i = 0;
		
		usuarioData.add(new Usuario("mateus", "m16s97aa"));
		usuarioData.add(new Usuario("dala", "123456"));
		usuarioData.add(new Usuario("root", "654321"));
		
		categoriaData.add(new Categoria("Cerveja", ++i));
		categoriaData.add(new Categoria("Vinho", ++i));
		categoriaData.add(new Categoria("Vodka", ++i));
		categoriaData.add(new Categoria("Cachaca", ++i));
		i = 0;

	}

	@Override
	public void start(Stage primaryStage) {
		this.primaryStage = primaryStage;
		this.primaryStage.setTitle("Wine And Beer");

		login();
		/*
		if(click) {			
			initRootLayout();

			showProdutosOverView();
		}
		*/
	
	}

	public void initRootLayout() {
		try {
			// Load root layout from fxml file.
			FXMLLoader loader = new FXMLLoader();
			loader.setLocation(Main.class.getResource("/view/RootLayout.fxml"));
			rootLayout = (BorderPane) loader.load();

			// Show the scene containing the root layout.
			Scene scene = new Scene(rootLayout);
			primaryStage.setScene(scene);

			// Give the controller access to the main app.
			RootLayoutController controller = loader.getController();
			controller.setMain(this);

			primaryStage.show();
		} catch (IOException e) {
			e.printStackTrace();
		}

		/*
		// Try to load last opened person file.
		File file = getPersonFilePath();
		if (file != null) {
			loadPersonDataFromFile(file);
		}
		*/
	}
	public void logar() {
			primaryStage.close();
			
			initRootLayout();

			showProdutosOverView();
		//return true;
	}
	public void login() {
		try {
			// Load root layout from fxml file.
			FXMLLoader loader = new FXMLLoader();
			loader.setLocation(Main.class.getResource("/view/Login.fxml"));
			loginLayout = (AnchorPane) loader.load();

			// Show the scene containing the root layout.
			Scene scene = new Scene(loginLayout);
			primaryStage.setScene(scene);

			// Give the controller access to the main app.
			LoginController controller = loader.getController();
			controller.setMain(this);

			primaryStage.show();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
 
	public void showProdutosOverView() {
		try {
			// Load person overview.
			FXMLLoader loader = new FXMLLoader();
			loader.setLocation(Main.class.getResource("/view/Produto.fxml"));
			AnchorPane personOverview = (AnchorPane) loader.load();

			// Set person overview into the center of root layout.
			rootLayout.setCenter(personOverview);

			// Give the controller access to the main app.
			ProdutoOverViewController controller = loader.getController();
			controller.setMain(this);
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	 
	
	public Stage getPrimaryStage() {
		return primaryStage;
	}
	public ObservableList<Produto> getProdutoData() {
		return produtoData;
	}
	public ObservableList<Fornecedor> getFornecedorData(){
		return  fornecedorData;
	}
	public ObservableList<Usuario> getUsuarioData(){
		return usuarioData;
	}
	public ObservableList<Categoria> getCategoriaData(){
		return categoriaData;
	}

	public static void main(String[] args) {
		launch(args);
	}
	public boolean showProdutoEditDialog(Produto produto) {
		try {
			// Load the fxml file and create a new stage for the popup dialog.
			FXMLLoader loader = new FXMLLoader();
			loader.setLocation(Main.class.getResource("/view/ProdutoEditDialog.fxml"));
			AnchorPane page = (AnchorPane) loader.load();
			
			// Create the dialog Stage.
			Stage dialogStage = new Stage();
			dialogStage.setTitle("Editar Produto");
			dialogStage.initModality(Modality.WINDOW_MODAL);
			dialogStage.initOwner(primaryStage);
		//	dialogStage.getIcons().add(new Image("file:resources/images/edit.png"));
			Scene scene = new Scene(page);
			dialogStage.setScene(scene);
			
			// Set the person into the controller.
			ProdutoEditDialog controller = loader.getController();
			controller.setDialogStage(dialogStage);
			controller.setProduto(produto);
			controller.lotarCombo(fornecedorData, categoriaData);
			controller.setMain(this);

			// Show the dialog and wait until the user closes it
			dialogStage.showAndWait();

			return controller.isOkClicked();
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		}
	}
	 
	public boolean showFornecedorEditDialog(Fornecedor fornecedor) {
		try {
			// Load the fxml file and create a new stage for the popup dialog.
			FXMLLoader loader = new FXMLLoader();
			loader.setLocation(Main.class.getResource("/view/FornecedorEditDialog.fxml"));
			AnchorPane page = (AnchorPane) loader.load();
			
			// Create the dialog Stage.
			Stage dialogStage = new Stage();
			dialogStage.setTitle("Editar Fornecedor");
			dialogStage.initModality(Modality.WINDOW_MODAL);
			dialogStage.initOwner(primaryStage);
			Scene scene = new Scene(page);
			dialogStage.setScene(scene);
			
			// Set the person into the controller.
			FornecedorEditDialog controller = loader.getController();
			controller.setDialogStage(dialogStage);
			controller.setFornecedor(fornecedor);
			controller.setMain(this);

			// Show the dialog and wait until the user closes it
			dialogStage.showAndWait();

			return controller.isOkClicked();
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		}
	}
	
}
package view;

import application.Main;
import javafx.fxml.FXML;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
import model.Fornecedor;
import model.Produto;

public class FornecedorEditDialog {

	@FXML
	private TextField nome; 
	@FXML 
	private TextField telefone;
	private Stage dialogStage;
	private Main main; 
	private int id;
	private Fornecedor fornecedor;
    private boolean okClicked = false;


    @FXML
    private void initialize() {
    }

    public void setDialogStage(Stage dialogStage) {
        this.dialogStage = dialogStage;
    }
    
    public void setMain(Main main) {
    	this.main = main;
    	id = main.getFornecedorData().size();
    	id = id+1;
    }
    public void setFornecedor(Fornecedor fornecedor) {
        this.fornecedor = fornecedor;
        nome.setText(fornecedor.getNome());
        telefone.setText(fornecedor.getTelefone());
        
    }
    public boolean isOkClicked() {
        return isOkClicked();
    }
    @FXML
    private void handleOk() {
        if (isInputValid()) {
            fornecedor.setNome(nome.getText());
	        fornecedor.setTelefone(telefone.getText());

	        if(fornecedor.getId() == 0) {
	        	fornecedor.setId(this.id);
	        }
	        
	        
            okClicked = true;
            dialogStage.close();
        }
    }

    @FXML
    private void handleCancel() {
        dialogStage.close();
    }
    private boolean isInputValid() {
        String errorMessage = "";

        if (nome.getText() == null || nome.getText().length() == 0) {
            errorMessage += "Produto Invalido!\n"; 
        }
        if (telefone.getText() == null || telefone.getText().length() == 0) {
            errorMessage += "Preco invalidos!\n"; 
        }
        if (errorMessage.length() == 0) {
            return true;
        } else {
            // Show the error message.
        	 
            return false;
        }
    }
    
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By NaPraia
      Tenho uma aplicação(projeto) java J1 onde tenho um registro.
      Eu gostaria de enviar o valor desse registro para outra aplicação J2.
       
      Como posso fazer isso?
      Estou utilizando o eclipse
    • By fideles
      Senhores, um dúvida e acho que vocês podem me ajudar a exclarecer ou mudar o codigo.
       
      Tenho um formulario onde pode acrescentar varias linhas com javascript e com um botão para chamar a função e que funciona bacana, codigo abaixo;
      <script type="text/javascript"> $(function () { $(".adicionarCampo").click(function () { novoCampo = $("tr.linhas:first").clone(); novoCampo.find("input").val(""); novoCampo.insertAfter("tr.linhas:last"); removeCampo(); }); }); </script> Tenho uma função em javascript também que faz preencher alguns campos automaticamente com base em um select.
      <script type="text/javascript"> function update(cod_atividade){ $.post("scripts/codigos_atividades.php", {cod_atividade:cod_atividade}, function(retorno){ dados = retorno.split("/"); $('#descricao').val(dados[0]); //alert(dados[0]); }); } </script>  
      O problema é que nos input, nos nomes eu coloquei colchetes no final, uma vez que eu tenho um array para gravar tudo de uma vez no banco.
      <input name="descricao[]" type="text" required="required" id="descricao" size="45" maxlength="255" readonly="readonly" /> So  que no script acima, ele direciona os inputs pelo ID, como o ID é unico, como que eu faço para ele reconher cada linha acrecentada conforme o 1º JS?
       
      Ex: 
      Cliquei na primeira linha, selecionei uma opção no select e preencheu o campo descrição
      Ao adicionar uma segunda linha, como o id é unico, ele não preenche, acaba alterando a primeira linha novamente.
       
      Alguém sugere algo que eu consiga ele identificar cada linha acrescentada e preenche o campo daquela respectiva linha?
       
      Obrigado desde já.
       
       
    • By CSTech
      Situação: Tenho um Scene principal(fxml), este por sua vez tem um button, ao clicar neste button abre um segundo Scene(detalhe - esse abre como filho).
      Minha dificuldade é, quero acessar qualquer componente do Scene principal através do Scene filho.
      É possível?
      Se sim me ajudem.
    • By kaayasinho
      Boa tarde Pessoal tudo bom?
      Durante um tempo eu fui estudante de programação, para web. E esse forum me foi muito util pois aprendi muitas coisas, e tirei muitas duvidas com todos os participantes. Por outro lado não segui a carreira de programado pois tive outras oportunidades.
       
      Em fim, estou com um projeto de criar uma plataforma online para eventos, e estou tentando montar um time chegar nesse objetivo. Por hora ainda estou tentando juntando a equipe necessária para isso acontecer.
       
      Pela pouca experiência que tive na programação, sei que fazer essa plataforma é bem complexa principalmente com as necessidades que vamos englobar, porém o mercado esta escasso de plataformas flexíveis, no sentido de oferecer algumas ferramentas básicas na comunicação. apesar de ja existir algumas plataformas no mercado.
       
      Resumo:
      1-) Procuro por programadores backend com experiência (não sei exatamente informar a linguagem) mas chuto que Java, Javascript e PHP sejam fundamentais. (sei que abusaremos muito do AJAX)
       
      2-) Programador FrontEnd, com experiência. E que tenha principalmente em boas praticas, pois código sujo cheio de plugins tornará a plataforma pesada, e cheia de bugs.
       
      PS: Não procuro nada pronto, claro que plugins coisas são inevitáveis porém para funcionarmos Lisos com menos bugs possíveis procuro algo feito “artesanalmente” rsrs.
       
      Obs: o projeto esta no inicio ainda, estou juntando contatos para chegar no objetivo, e assim que tiver um contato gostaria de poder conversar trocar ideias, caso seja um projeto onde você se identifique nada impede de sermos parceiros ter uma % sobre o negocio.
       
       
      Obs2: Desculpem se escrevi meio enrolado ou esta complicado de entender. pois apenas disse plataforma de eventos e não especifiquei nada. mas assim que receber um contato eu passo mais informações com alguns links de exemplos, que é melhor que falar.
       
      E caso aqui seja o lugar correto posso passar mais informações por aqui também.
       
      Seguem alguns exemplos de plataforma de eventos online.
      Download de 2 PDFs de apresentações do mesmo segmento
       
      Site de uma das plataformas porém proximo do que almejamos
      https://www.swaper.com.br/
       
       
      Fico a disposição,
       
      Desculpem se postei no local incorreto
       
    • By jrxxjr
      Sou iniciante em Android, e fiz uma pequena aplicação Android de teste, usando Java, para aprender a utilizar um ListView com botões, e tive um problema. Os botões não funcionam direito, as vezes eu clico em cima do Edit, ele muda a mensagem para clicado, "Edit", confirmando que eu cliquei ai. Mas tem vezes que eu clico no botão Delete, e depois no botão Edit, e o texto não é mudado, ou seja o evento click não funcionou, se eu coloco um break point, no código-fonte, onde está entrando no evento setOnItemClickListener. Mas a mensagem exibida, não está correta.
      E tem um outro erro, de funcionamento do AlertDialog, da mensagem de confirmação de deleção.
      O código-fonte está abaixo.
      Por favor, alguém poderia me ajudar ?
       
      AgendaActivity.java
      package com.test.android.view; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.test.android.model.Agenda; import com.test.android.util.Util; public class AgendaActivity extends AppCompatActivity { ListView listview; MyArrayAdapter agendaArrayAdapter; ArrayList<AgendaTo> agendaArray = new ArrayList<AgendaTo>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_agenda); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Nick", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("John", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Anthony", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("James", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Jack", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Jeremy", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()),Util.fillSpaces("Long", 50))); agendaArrayAdapter = new MyArrayAdapter(AgendaActivity.this, R.layout.list_item, agendaArray); listview = (ListView) findViewById(R.id.listView); listview.setItemsCanFocus(false); listview.setAdapter(agendaArrayAdapter); listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, final int position, long id) { Toast.makeText(AgendaActivity.this, "List Item Clicked:" + position, Toast.LENGTH_LONG) .show(); } }); } } MyArrayAdapter.java
      package com.test.android.view; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import java.text.SimpleDateFormat; import java.util.ArrayList; public class MyArrayAdapter extends ArrayAdapter<AgendaTo> { Context context; int layoutResourceId; ArrayList<AgendaTo> agendas = new ArrayList<AgendaTo>(); public MyArrayAdapter(Context context, int layoutResourceId, ArrayList<AgendaTo> agendas) { super(context, layoutResourceId, agendas); this.layoutResourceId = layoutResourceId; this.context = context; this.agendas = agendas; } @Override public View getView(int position, View convertView, ViewGroup parent) { View item = convertView; AgendaWrapper agendaWrapper = null; if (item == null) { LayoutInflater inflater = ((Activity) context).getLayoutInflater(); item = inflater.inflate(layoutResourceId, parent, false); agendaWrapper = new AgendaWrapper(); agendaWrapper.nome = (TextView) item.findViewById(R.id.textNome); agendaWrapper.data = (TextView) item.findViewById(R.id.textData); agendaWrapper.edit = (Button) item.findViewById(R.id.btnEdit); agendaWrapper.delete = (Button) item.findViewById(R.id.btnDelete); item.setTag(agendaWrapper); } else { agendaWrapper = (AgendaWrapper) item.getTag(); } AgendaTo agenda = agendas.get(position); agendaWrapper.nome.setText(agenda.getNome()); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); agendaWrapper.data.setText(sdf.format(agenda.getData())); agendaWrapper.edit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, "Edit", Toast.LENGTH_LONG).show(); } }); final int absolutePsition = position; final AgendaWrapper itemDelete = agendaWrapper; final ViewGroup viewGroup = parent; agendaWrapper.delete.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, "Delete " + absolutePsition, Toast.LENGTH_LONG).show(); AlertDialog diaBox = AskOption(itemDelete, absolutePsition, viewGroup); diaBox.show(); } }); return item; } private AlertDialog AskOption(AgendaWrapper agendaWrapper, int position, final ViewGroup viewGroup) { final int deletePosition = position; AlertDialog myQuittingDialogBox = new AlertDialog.Builder(context) .setTitle("Delete") .setMessage("Do you want to Delete") .setPositiveButton("Delete", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { agendas.remove(deletePosition); refreshListView(agendas, viewGroup); dialog.dismiss(); } private void refreshListView(final ArrayList<AgendaTo> agendas, final ViewGroup viewGroup) { final MyArrayAdapter myArrayAdapter = new MyArrayAdapter(context, R.layout.list_item, agendas); final LayoutInflater inflater = ((Activity) context).getLayoutInflater(); final View view = inflater.inflate(layoutResourceId, viewGroup, false); final ListView listview = (ListView) view.findViewById(R.id.listView); listview.setAdapter(myArrayAdapter); } }) .setNegativeButton("cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }) .create(); return myQuittingDialogBox; } static class AgendaWrapper { TextView nome; TextView data; Button edit; Button delete; } } list_item.xml
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="4dp" tools:context=".AgendaActivity" > <TextView android:id="@+id/textNome" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="Nome:" android:width="50dp" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textData" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textData" android:layout_alignTop="@id/textNome" android:layout_alignRight="@id/textNome" android:layout_alignParentLeft="true" android:layout_marginTop="5dp" android:width="50dp" android:text="Data:" android:textAppearance="?android:attr/dateTextAppearance" android:textSize="16sp" /> <Button android:id="@+id/btnEdit" android:layout_width="80dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:background="#99CC" android:focusable="false" android:focusableInTouchMode="false" android:text="Edit" android:textColor="#FFFFFF" /> <Button android:id="@+id/btnDelete" android:layout_width="80dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_below="@+id/btnEdit" android:layout_marginTop="3dp" android:background="#99CC" android:focusable="false" android:focusableInTouchMode="false" android:text="Delete" android:textColor="#FFFFFF" /> </RelativeLayout> activity_agenda.xml
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#990044" tools:context="com.test.android.view.AgendaActivity" > <TextView android:id="@+id/listLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="Touch List" android:textColor="#FFFFFF" android:textSize="25sp" /> <ListView android:id="@+id/listView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/listLabel" android:layout_marginTop="5dp" android:cacheColorHint="#FFFFFF" /> </RelativeLayout>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.