|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Aug 2011
Messaggi: 18
|
[Java] Aggiungere azioni ai bottoni
Salve spero sia l'area giusta dove postare, mi sto' avvicinando alla programmazione android sono veramente digiuno. Per farlo uso l'adt e ho visto un paio di video tutorial su youtube. Volevo creare una semplice applicazione composta da tre bottoni:
Sito web: cliccandolo dovrebbe semplicemente rimandare ad un indirizzo preimpostato Feed Rss: cliccandolo dovrebbe aprire un file di feed prevalentemente generato da wordpress (all'interno dell'applicazione) About dove riportare semplicemente delle note relative all'applicazione. Ora creare il layout è abbastanza intuitivo e piuttosto semplice, Ho creato l'interfaccia grafica : Codice:
<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" * * tools:context=".MainActivity" > * * <Button * * * * android:id="@+id/button1" * * * * android:layout_width="wrap_content" * * * * android:layout_height="wrap_content" * * * * android:layout_alignParentTop="true" * * * * android:layout_centerHorizontal="true" * * * * android:layout_marginRight="14dp" * * * * android:layout_marginTop="35dp" * * * * android:text="@string/sito_web" /> * * <Button * * * * android:id="@+id/button2" * * * * android:layout_width="wrap_content" * * * * android:layout_height="wrap_content" * * * * android:layout_alignLeft="@+id/button1" * * * * android:layout_below="@+id/button1" * * * * android:layout_marginTop="43dp" * * * * android:text="@string/Feed_Rss" /> * * <Button * * * * android:id="@+id/button3" * * * * android:layout_width="wrap_content" * * * * android:layout_height="wrap_content" * * * * android:layout_alignLeft="@+id/button2" * * * * android:layout_below="@+id/button2" * * * * android:layout_marginTop="73dp" * * * * android:text="@string/About" /> * * </RelativeLayout> Codice:
package com.example.alex; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { Button button1, button2, button3; * * @Override * * protected void onCreate(Bundle savedInstanceState) { * * * * super.onCreate(savedInstanceState); * * * * setContentView(R.layout.activity_main); * * * * button1 = (Button) findViewById (R.id.button1); * * * * button2 = (Button) findViewById (R.id.button2); * * * * button3 = (Button) findViewById (R.id.button3); * * * * button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub } }); * * * * button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub } }); * * * * button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub } }); * * } * * @Override * * public boolean onCreateOptionsMenu(Menu menu) { * * * * // Inflate the menu; this adds items to the action bar if it is present. * * * * getMenuInflater().inflate(R.menu.activity_main, menu); * * * * return true; * * } * * } non riesco pero' ad assegnare ai pulsanti le azioni da effettuare quando vengono premuti. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2774
|
Non me ne intendo molto di android, ho letto solo un po' di teoria, quindi scusa se la mia risposta è un po' vaga.
Per il primo bottone dovresti creare un Intent, puoi vedere la risposta a questa domanda su stackoverflow per quello che ti serve: http://stackoverflow.com/questions/2...my-application Invece per gli altri due dovrai creare delle Activity distinte con la loro View. Al click su un bottone passerai all'Activity appropriata. In questa risposta c'è un esempio: http://stackoverflow.com/questions/4...n-button-click A quanto vedo ora anche in questo caso dovrai creare degli Intent, però stavolta mi sembra di capire che l'Activity che si aprirà è specificata dai parametri. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
@balckeyes972: se stai imparando a programmare in Android ti segnalo questa utile risorsa -> http://www.vogella.com/
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#4 | |
Junior Member
Iscritto dal: Aug 2011
Messaggi: 18
|
Quote:
@banryu79 grazie |
|
![]() |
![]() |
![]() |
#5 | |
Junior Member
Iscritto dal: Aug 2011
Messaggi: 18
|
Quote:
Codice:
@Override public void onClick(View v) { // Apre un link specificato nel browser Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.sitoweb.info")); startActivity(browserIntent); } }); Per le altre due funzioni sono ancora piuttosto in difficoltà... |
|
![]() |
![]() |
![]() |
#6 |
Junior Member
Iscritto dal: Aug 2011
Messaggi: 18
|
Mi spiego meglio con lo stesso principio ovviamente sono riuscito a lanciare il file rss generato da wordpress ma ovviamente non è formattato, quindi viene lanciato a video solo lo schema xml. Come faccio a renderlo leggibile?
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2774
|
Mi spiace ma non so aiutarti oltre, quello che posso fare è cercare delle soluzioni che potrebbero funzionare ma penso sia meglio aspettare che risponda qualcuno che questi argomenti li ha già affrontati.
Ti lascio questo link che dovrebbe spiegare diverse soluzioni al tuo problema: http://stackoverflow.com/questions/1...er-for-android |
![]() |
![]() |
![]() |
#8 | |
Junior Member
Iscritto dal: Aug 2011
Messaggi: 18
|
Quote:
In compenso ho capito come creare la pagina about mediante un nuovo layout Codice:
button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub setContentView(R.layout.credits); |
|
![]() |
![]() |
![]() |
#9 |
Junior Member
Iscritto dal: Aug 2011
Messaggi: 18
|
Sono riuscito a capire come far tornare indietro magari è utile a qualcuno
Codice:
public boolean onKeyDown(int keyCode, KeyEvent event) { //Riporta alla schermata precedente alla pressione di Back if (keyCode == KeyEvent.KEYCODE_BACK ) { Intent loadmain = new Intent(MainActivity.this, MainActivity.class); startActivity(loadmain); MainActivity.this.finish(); return true; } return super.onKeyDown(keyCode, event); } |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Controlla se esiste un componente del genere (distribuito con la libreria/framework che stai usando). Ad esempio in 5 min. di ricerca ho trovato questo (magari è quello che ti serve): https://developer.android.com/guide/...s/webview.html
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
#11 | |
Junior Member
Iscritto dal: Aug 2011
Messaggi: 18
|
Quote:
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:21.