Visualizzazione stampabile
-
Layout da xml a codice
Salve a tutti,
il mio problema è abbastanza semplice ma non riesco a risolverlo, vorrei prendere il layout del mio main tramite codice e modificarlo, una cosa simil questa:
RelativeLayout rl = "getLayout(id)";
in modo che poi lo possa modificare sempre tramite codice...
ho provato con findViewById ma da un nullpointerexception in runtime:
RelativeLayout rl = (RelativeLayout)findViewById(id);
qualcuno sa aiutarmi?
-
Quote:
Originariamente inviato da
Blacksmith
Salve a tutti,
il mio problema è abbastanza semplice ma non riesco a risolverlo, vorrei prendere il layout del mio main tramite codice e modificarlo, una cosa simil questa:
RelativeLayout rl = "getLayout(id)";
in modo che poi lo possa modificare sempre tramite codice...
ho provato con findViewById ma da un nullpointerexception in runtime:
RelativeLayout rl = (RelativeLayout)findViewById(id);
qualcuno sa aiutarmi?
Ore 22.25 provo a vedere perchè ma a occhio mi sembra si possa fare ahah
Ore 22.28 ahaha a me funziona....
Ore 22.29 (quando l'emulatore si decise a partire) damn l'app si pianta...
...mumble....mi chiedo "Perchè farsi passare un layout? cioè...perchè dichiararlo nell'xml solo per metter il realtiveLayout li?"
Ore 22.30 ahaha
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
RelativeLayout r = new RelativeLayout(this);
setContentView(R);
}
che gliene pare signor Smith? :) ovviamente va nella tua activity nell'onCreate... io l'ho provato e non da problemini se non erro :D
(poi punto di vista di un pivellino di android, ma mi sa un po' sprecato fare un file xml solo per scrivergli <RelativeLayout>)
EDIT: si certo il file main te lo crea lo stesso, ma non sei obbligato ad applicarlo nella tua activity, anzì...
-
Pardon, ma prendi comunque in pancia l'XML tramite la setContentView(R.layout.main) e poi manipolalo...
In verità il problema è: che tipo di manipolazioni ti servono? Non credo ci sia niente che ti sia negato facendo le varie findViewById sugli elementi che hai configurato in XML.
(Perdona Dhalia, ma personalmente scrivere tutto il layout via codice partendo da un new credo sia divertente come cenare a puntine da disegno e trielina)
-
Quote:
Originariamente inviato da
Cymon
Pardon, ma prendi comunque in pancia l'XML tramite la setContentView(R.layout.main) e poi manipolalo...
In verità il problema è: che tipo di manipolazioni ti servono? Non credo ci sia niente che ti sia negato facendo le varie findViewById sugli elementi che hai configurato in XML.
(Perdona Dhalia, ma personalmente scrivere tutto il layout via codice partendo da un new credo sia divertente come cenare a puntine da disegno e trielina)
Ahaha è buona la trielina? :D
beh anche io la considerò da pazzi come soluzione, ma quello che mi chiedo...
se uno deve inserire button, edittext e quanto altro da codice, perchè deve importare un layout vuoto? o almeno così mi era parso di capire..
cioè non mi è tanto chiaro quel "
in modo che poi lo possa modificare sempre tramite codice..."
da quel che ho visto, con i miei esperimentini su android, fino ad oggi ho praticamente potuto dichiarare tutto tramite xml (difficoltoso all'inizio, ma poi molto ordinato e strutturato man mano che gli esercizi aumentano)..
mmm trienlina e puntine... ahaha ci sto ancora pensando :P
-
@Blacksmith
Se a te interessa soltanto ottenere il riferimento al tuo RelativeLayout definito nell'xml, devi fare così:
Il tuo mio_layout.xml
Nella tua Activity
Ci eri andato vicino ;)
-
Quote:
Originariamente inviato da
dhalia
in modo che poi lo possa modificare sempre tramite codice..."
da quel che ho visto, con i miei esperimentini su android, fino ad oggi ho praticamente potuto dichiarare tutto tramite xml
Mi aspetto abbia bisogno di popolare qualcosa in modo dinamico, ovviamente non una semplice lista (che c'è fior fiore di classi per farlo) ma qualcosa di più curioso. A questo punto comunque creerei un "fondo" in xml e poi gestirei il resto via codice
Quote:
mmm trienlina e puntine... ahaha ci sto ancora pensando :P
Don't try this at home :O
-
Quote:
Originariamente inviato da
Cymon
Don't try this at home :O
Ha!Ha!Ha! :D :D :D
Cymon, mi fai morire! :D :D
-
Quote:
Originariamente inviato da
Cymon
Don't try this at home :O
ahahah obvius! non voglio mica fare il punta spilli roftl