Traducción de programas Java
La clase pública System extiende Activity para implementar OnItemClickListener{
Cadena final estática privada TAG = " System
ListView itemlist = null
Lista <Map<String, Object>>List;
@override
public void on create(Paquete de estado de instancia guardado){
super oncreate (savedInstanceState);
SetTitle("Información del sistema");
lista de elementos = (ListView)findViewById( r . id . lista de elementos); Obtener vista de lista desde XML
refreshListItems();
}
Private void refrescoListItems() {
list = buildListForSimpleAdapter(); // Este buildListForSimpleAdapter(); El método completo consiste en 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 la lista, el archivo XML que representa la lista y los campos relacionados que se van a representar. , esta oración significa que el valor relevante con el nombre y la palabra clave desc aparecen en la lista de elementos de la página. set adaptor(notas); //Agregar un adaptador para la vista de lista (es decir, simpleAdapter). para un uso específico, el adaptador se utiliza como puente entre los datos de la vista de lista y la interfaz.
item list.setonitemclicklistener(this);
lista de elementos. set selección(0); //Establece el índice inicial en 0
}
Lista de distribución personal<map<String, object>& gtbuildListForSimpleAdapter() {
List<Map<String, Object>& gtlist = new ArrayList & ltMap<String, Object>& gt(3);
//Crear un mapeo para atributos
Map & lt string, object & gtmap = new HashMap & lt cadena, objeto & gt();
map = nuevo HashMap & lt cadena de caracteres, objeto>();
map.put("id ", PreferencesUtil.
VER_info);
Map.put("nombre","versión del sistema operativo");
Map.put("desc","Leer /proc/información de versión ");
list.add(map);
map = new HashMap & ltString, object& gt();
map.put( "id ", PreferencesUtil. propiedad del sistema);
Map.put("nombre", "información del sistema");
Map.put("desc", "información del sistema del dispositivo móvil. ");
// map.put("icon ", r . drawable . mem);
list.add(map
map = new HashMap & ltString); , Object>();
map.put("id ", PreferencesUtil.Phone_Status);
Map.put(" Nombre", "Información del operador");
Map.put("desc ", "Información del operador de la red de telefonía móvil.");
list.add(map);
Orden de devolución;
}
@override
public void onItemClick(vista del adaptador & lt;?& gt parent, vista v, posición int, id largo) {
Intent Intent = new Intent();
Log.i(label, "¡Elemento hecho clic! ["+posición+"]";
Información del paquete = new Bundle();
Map & lt string, object & gtmap = list . get (position); // Obtiene el índice presionado por el usuario, de la lista Obtiene el valor correspondiente al mapa. >info.putInt("id ", (Integer)map. get(" id ")); // Coloque el valor del parámetro obtenido en el paquete, lo que equivale a pasar el parámetro
info. .putString("nombre ", (String)map. get(" nombre "));
info.putString("desc ", (String)map. get (" desc ")); p>
info.putInt("posición ", posición);
intent . putextra(" Android . intent . extra . info ", info
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 ~ ~ ~