0
データを含むいくつかのxmlファイル(toscana.xml、lazio.xml、...)を使ってアプリケーションを作成しています。これらはres/rawフォルダにあります。私はスピナーの「トスカーナ」をクリックすると、それは私にいくつかの結果が得られますAndroid - XMLファイルのデータへのリンクを作成する方法
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeSet;
public class Provincia
{
public static final String TUTTE_LE_PROVINCE = "Tutte le province";
public static final String NOME = "NOME";
public static final String CODICE = "CODICE";
public static final String REGIONE = "REGIONE";
private String nome;
private String codice;
private String regione;
public Provincia(String nome, String codice, String regione)
{
super();
this.nome = nome;
this.codice = codice;
this.regione = regione;
}
public String getNome()
{
return nome;
}
public String getCodice()
{
return codice;
}
public String getRegione()
{
return regione;
}
@Override
public String toString()
{
return nome + " " + codice;
}
public boolean isRegioneStatutoSpeciale()
{
return regione.equals("Valle d'Aosta") || regione.equals("Trentino Alto Adige") || regione.equals("Friuli Venezia Giulia")
|| regione.equals("Sardegna") || regione.equals("Sicilia");
}
public static final Provincia[] DB = new Provincia[]
{ new Provincia("Agrigento", "AG", "Sicilia"), new Provincia("Alessandria", "AL", "Piemonte"), new Provincia("Ancona", "AN", "Marche"),
new Provincia("Aosta", "AO", "Valle d'Aosta"), new Provincia("Arezzo", "AR", "Toscana"), new Provincia("Ascoli Piceno", "AP", "Marche"),
new Provincia("Asti", "AT", "Piemonte"), new Provincia("Avellino", "AV", "Campania"), new Provincia("Bari", "BA", "Puglia"),
new Provincia("Barletta Andria Trani", "BT", "Puglia"), new Provincia("Belluno", "BL", "Veneto"),
new Provincia("Benevento", "BN", "Campania"), new Provincia("Bergamo", "BG", "Lombardia"), new Provincia("Biella", "BI", "Piemonte"),
new Provincia("Bologna", "BO", "Emilia Romagna"), new Provincia("Bolzano", "BZ", "Trentino Alto Adige"),
new Provincia("Brescia", "BS", "Lombardia"), new Provincia("Brindisi", "BR", "Puglia"), new Provincia("Cagliari", "CA", "Sardegna"),
new Provincia("Caltanissetta", "CL", "Sicilia"), new Provincia("Campobasso", "CB", "Molise"),
new Provincia("Carbonia Iglesias", "CI", "Sardegna"), new Provincia("Caserta", "CE", "Campania"),
new Provincia("Catania", "CT", "Sicilia"), new Provincia("Catanzaro", "CZ", "Calabria"), new Provincia("Chieti", "CH", "Abruzzo"),
new Provincia("Como", "CO", "Lombardia"), new Provincia("Cosenza", "CS", "Calabria"), new Provincia("Cremona", "CR", "Lombardia"),
new Provincia("Crotone", "KR", "Calabria"), new Provincia("Cuneo", "CN", "Piemonte"), new Provincia("Enna", "EN", "Sicilia"),
new Provincia("Fermo", "FM", "Marche"), new Provincia("Ferrara", "FE", "Emilia Romagna"), new Provincia("Firenze", "FI", "Toscana"),
new Provincia("Foggia", "FG", "Puglia"), new Provincia("Forlì Cesena", "FC", "Emilia Romagna"),
new Provincia("Frosinone", "FR", "Lazio"), new Provincia("Genova", "GE", "Liguria"),
new Provincia("Gorizia", "GO", "Friuli Venezia Giulia"), new Provincia("Grosseto", "GR", "Toscana"),
new Provincia("Imperia", "IM", "Liguria"), new Provincia("Isernia", "IS", "Molise"), new Provincia("La Spezia", "SP", "Liguria"),
new Provincia("L'Aquila", "AQ", "Abruzzo"), new Provincia("Latina", "LT", "Lazio"), new Provincia("Lecce", "LE", "Puglia"),
new Provincia("Lecco", "LC", "Lombardia"), new Provincia("Livorno", "LI", "Toscana"), new Provincia("Lodi", "LO", "Lombardia"),
new Provincia("Lucca", "LU", "Toscana"), new Provincia("Macerata", "MC", "Marche"), new Provincia("Mantova", "MN", "Lombardia"),
new Provincia("Massa e Carrara", "MS", "Toscana"), new Provincia("Matera", "MT", "Basilicata"),
new Provincia("Medio Campidano", "VS", "Sardegna"), new Provincia("Messina", "ME", "Sicilia"),
new Provincia("Milano", "MI", "Lombardia"), new Provincia("Modena", "MO", "Emilia Romagna"),
new Provincia("Monza e Brianza", "MB", "Lombardia"), new Provincia("Napoli", "NA", "Campania"),
new Provincia("Novara", "NO", "Piemonte"), new Provincia("Nuoro", "NU", "Sardegna"), new Provincia("Ogliastra", "OG", "Sardegna"),
new Provincia("Olbia Tempio", "OT", "Sardegna"), new Provincia("Oristano", "OR", "Sardegna"), new Provincia("Padova", "PD", "Veneto"),
new Provincia("Palermo", "PA", "Sicilia"), new Provincia("Parma", "PR", "Emilia Romagna"), new Provincia("Pavia", "PV", "Lombardia"),
new Provincia("Perugia", "PG", "Umbria"), new Provincia("Pesaro e Urbino", "PU", "Marche"), new Provincia("Pescara", "PE", "Abruzzo"),
new Provincia("Piacenza", "PC", "Emilia Romagna"), new Provincia("Pisa", "PI", "Toscana"), new Provincia("Pistoia", "PT", "Toscana"),
new Provincia("Pordenone", "PN", "Friuli Venezia Giulia"), new Provincia("Potenza", "PZ", "Basilicata"),
new Provincia("Prato", "PO", "Toscana"), new Provincia("Ragusa", "RG", "Sicilia"), new Provincia("Ravenna", "RA", "Emilia Romagna"),
new Provincia("Reggio Calabria", "RC", "Calabria"), new Provincia("Reggio Emilia", "RE", "Emilia Romagna"),
new Provincia("Rieti", "RI", "Lazio"), new Provincia("Rimini", "RN", "Emilia Romagna"), new Provincia("Roma", "RM", "Lazio"),
new Provincia("Rovigo", "RO", "Veneto"), new Provincia("Salerno", "SA", "Campania"), new Provincia("Sassari", "SS", "Sardegna"),
new Provincia("Savona", "SV", "Liguria"), new Provincia("Siena", "SI", "Toscana"), new Provincia("Siracusa", "SR", "Sicilia"),
new Provincia("Sondrio", "SO", "Lombardia"), new Provincia("Taranto", "TA", "Puglia"), new Provincia("Teramo", "TE", "Abruzzo"),
new Provincia("Terni", "TR", "Umbria"), new Provincia("Torino", "TO", "Piemonte"), new Provincia("Trapani", "TP", "Sicilia"),
new Provincia("Trento", "TN", "Trentino Alto Adige"), new Provincia("Treviso", "TV", "Veneto"),
new Provincia("Trieste", "TS", "Friuli Venezia Giulia"), new Provincia("Udine", "UD", "Friuli Venezia Giulia"),
new Provincia("Varese", "VA", "Lombardia"), new Provincia("Venezia", "VE", "Veneto"),
new Provincia("Verbano Cusio Ossola", "VB", "Piemonte"), new Provincia("Vercelli", "VC", "Piemonte"),
new Provincia("Verona", "VR", "Veneto"), new Provincia("Vibo Valentia", "VV", "Calabria"), new Provincia("Vicenza", "VI", "Veneto"),
new Provincia("Viterbo", "VT", "Lazio") };
private static ArrayList<String> regioni;
public static List<Map<String, String>> getData()
{
List<Map<String, String>> ret = new ArrayList<Map<String, String>>();
for (Provincia provincia : DB)
{
ret.add(provincia.getMap());
}
return ret;
}
public static List<Map<String, String>> getData(String regione)
{
List<Map<String, String>> ret = new ArrayList<Map<String, String>>();
for (Provincia provincia : DB)
{
if (regione.equals(TUTTE_LE_PROVINCE) || regione.equals(provincia.getRegione()))
{
ret.add(provincia.getMap());
}
}
return ret;
}
private Map<String, String> getMap()
{
HashMap<String, String> map = new HashMap<String, String>();
map.put(NOME, nome);
map.put(CODICE, codice);
map.put(REGIONE, regione);
return map;
}
public static ArrayList<String> getRegioni()
{
if (regioni == null)
{
TreeSet<String> set = new TreeSet<String>();
for (Provincia provincia : DB)
{
set.add(provincia.getRegione());
}
regioni = new ArrayList<String>();
regioni.add(TUTTE_LE_PROVINCE);
regioni.addAll(set);
}
return regioni;
}
}
、私は「フィレンツェ」にCLIK場合:私は、スピナー持っている:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
public class MainActivity extends Activity
{
private GridView grid;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
grid = (GridView) findViewById(R.id.grid);
aggiornaProvince(Provincia.TUTTE_LE_PROVINCE);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, Provincia.getRegioni());
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> adapter, View v, int pos, long id)
{
aggiornaProvince((String) adapter.getItemAtPosition(pos));
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
aggiornaProvince(Provincia.TUTTE_LE_PROVINCE);
}
});
}
protected void aggiornaProvince(String regione)
{
grid.setAdapter(new SimpleAdapter(this, Provincia.getData(regione), R.layout.cell, new String[]
{ Provincia.CODICE, Provincia.NOME }, new int[]
{ R.id.codice, R.id.nome }));
}
}
をそして、これはProvincia活動であります「Firenze」に関するすべての情報を見ることができる新しいレイアウトを開きたいと考えています。すべての情報は、res/rawフォルダ内のxmlファイルにあります。私のスピナーの結果からxmlファイルを開くにはどうすればいいですか?誰かが私が書いたことを理解することを願っていますどうもありがとうございました。
私はので、私はタップしたときに、私のデータのために、私はまだ(last_layout.xml)レイアウトをしたと言うのを忘れて私はそのレイアウトを開きたいと思っています。その文字列をスピナーに追加しようとしましたが、動作しません。おそらく私は間違いを犯します、これは私の最初のアプリケーションです。 – Carontes