Traducción de código Java
La clase pública System extiende Activity para implementar OnItemClickListener{
Cadena final estática privada TAG = " System
ListView itemlist = null
Lista lt maplt cadena, objeto gt gt lista;
@override
public void on create(Bundle savestancestate){
super oncreate(savedInstanceState);
setContentView(r . diseño . infos);
SetTitle("Información del sistema");
lista de elementos =(ListView)findViewById(r . id . elemento list); //Obtener vista de lista desde XML
refreshListItems();
}
Private void refrescoListItems() {
list = buildListForSimpleAdapter(); // Este buildListForSimpleAdapter(); El método completo es agregar un valor a la lista, agregar un mapa a la lista y agregar una clave y un valor al mapa, como la versión operativa y la información del sistema. /p>
notas del adaptador simple = nuevo adaptador simple(this, list, R.layout.info_row,
new String[] { "name ", "desc" }, new int[] { R.id. name
r . id . desc }); //Este es un uso común de simpleAdapte, que consiste en vincular una lista, el archivo XML que representa la lista y los campos relacionados. Por ejemplo, esta oración significa. El valor relacionado con el nombre y la palabra clave desc aparecen en la lista de elementos de la página. la vista de lista. Es posible que desee consultar la documentación para averiguarlo. Uso específico. En resumen, el adaptador se utiliza como puente entre los datos de la vista de lista y la interfaz.
lista de elementos. setonitemclicklistener(this); //Establece el oyente para la vista de lista
lista de elementos. >
}
Lista de distribución personal lt map lt string, objeto gt gtbuildListForSimpleAdapter() {
Lista lt map lt string, objeto gt gtlist = new ArrayList lt map lt String, object gt gt(3);
//Crear mapeo para atributos
Mapa cadena lt, objeto gtmap = nueva cadena HashMap lt, objeto gt(); >map = nueva cadena HashMap lt, objeto gt();
map.put("id ", PreferencesUtil.VER_info
Map("name", "operando). versión del sistema");
Map.put("desc", "read /proc/version information");
list.add( map);
map = nueva cadena HashMap lt, objeto gt();
map.put("id ", propiedad PreferencesUtil.system);
Map.put("nombre", " información del sistema");
Map.put("desc ", "información del sistema del dispositivo móvil.");
// map .put("icon", r . dibujable . mem);
list.add(map);
map = nueva cadena HashMap lt, objeto gt(); map.put("id ",PreferencesUtil.Phone_Status);
Map.put("Nombre","Información del operador");
Map .put("desc", " Información del operador de red de telefonía móvil.");
list.add(map);
Formulario de devolución;
}
@override
public void onItemClick(adapter view lt;? gt parent, view v, int position, long id) {
Intent Intent = new Intent();
Log.i(Etiqueta, "¡Elemento en el que se hizo clic! [" position "]";
Bundle info = new Bundle();
Map lt string, object gtmap = list. get(position); // Consigue que el usuario presione Index , obtenga el valor correspondiente al mapa de la lista
info.putInt("id ", (Integer)map . get(" id ")); //Coloque el valor del parámetro obtenido en el paquete. , lo que equivale a pasar parámetros.
info.putString("nombre", (String)map. get(" nombre "));
info.putString("desc", (String)map. get( " desc "));
info.putInt("posición ", posición);
intent . putextra(" Android . intent . extra . info ", info); p>
p>
intent.setClass(System.this, showinfo. class);
startActivityForResult(intent, 0); //El punto aquí es que no sé si LZ conoce la diferencia entre startActivityForResult y startActivity. La función de startActivity es saltar directamente a otra página, y startActivityForResult devolverá directamente los datos a la actividad anterior sin volver a saltar. Entonces, lo que esto significa es que el sistema salta a showinfo nuevamente y al mismo tiempo obtiene los datos devueltos por showinfo y los muestra directamente en el sistema ~ ~ ~