无法将ListView的信息传递给下一个Android Android

时间:2017-12-05 02:35:29

标签: android listview

我试图将ListView的选定行的信息传递给我可以编辑或删除信息的新活动,但我无法进入下一个活动

这是ListView LISTADO

公共类Listado扩展了AppCompatActivity {

ListView listView;
ArrayList<String> listado;


protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_listado);
    listView = (ListView) findViewById(R.id.listaView);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

            int id = Integer.parseInt(listado.get(i).split(" ")[0]);
            String nombre=listado.get(i).split(" ")[1];
            String usuario=listado.get(i).split(" ")[2];
            String password=listado.get(i).split(" ")[3];
            String correo=listado.get(i).split(" ")[4];
            Intent intent=new Intent(Listado.this,Modificar.class);
            intent.putExtra("ID",id);
            intent.putExtra("NOMBRE",nombre);
            intent.putExtra("USUARIO",usuario);
            intent.putExtra("PASSWORD",password);
            intent.putExtra("CORREO",correo);

            startActivity(intent);
        }
    });
}

@Override
protected void onPostResume () {
    super.onPostResume();
    setContentView(R.layout.activity_listado);
    listView = (ListView) findViewById(R.id.listado);
    cargarlistado();
}

private void cargarlistado() {
    listado = ListaPersonas();
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listado);
    listView.setAdapter(adapter);
}

private ArrayList<String> ListaPersonas() {
    ArrayList<String> datos = new ArrayList<String>();
    BaseHelper helper = new BaseHelper(this, "DEMO", null, 1);
    SQLiteDatabase db = helper.getWritableDatabase();
    String sql = "Select * from PERSONAS";
    Cursor c = db.rawQuery(sql, null);
    if (c.moveToFirst()) {
        do {
            String linea = " " + c.getInt(0) + " " + c.getString(1) + " " + c.getString(2) + " " + c.getString(3) + " " + c.getString(4);
            datos.add(linea);
        } while (c.moveToNext());
    }
    db.close();
    return datos;
}

}

这是我想要获取信息的地方 MODIFICAR

公共类Modificar扩展了AppCompatActivity {

EditText ed_nombre,ed_usuario, ed_password, ed_correo;
Button btn_modificar,btn_eliminar;
int id_recibe;
String nombre_recibe,usuario_recibe, password_recibe, correo_recibe;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_modificar);

ed_nombre=(EditText) findViewById(R.id.ed_nombre);
ed_usuario=(EditText) findViewById(R.id.ed_usuario);
ed_password=(EditText) findViewById(R.id.ed_password);
ed_correo=(EditText) findViewById(R.id.ed_correo);
btn_modificar=(Button) findViewById(R.id.btn_modificar);
btn_eliminar=(Button) findViewById(R.id.btn_eliminar);

Bundle b=getIntent().getExtras();

if(b!=null)
{
    id_recibe=b.getInt("ID");
    nombre_recibe=b.getString("NOMBRE");
    usuario_recibe=b.getString("USUARIO");
    password_recibe=b.getString("PASSWORD");
    correo_recibe=b.getString("CORREO");
}
ed_nombre.setText(nombre_recibe);
ed_usuario.setText(usuario_recibe);
ed_password.setText(password_recibe);
ed_correo.setText(correo_recibe);


btn_modificar.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        modificar(id_recibe,ed_nombre.getText().toString(),ed_usuario.getText().toString(),ed_password.getText().toString(),ed_correo.getText().toString());
        onBackPressed();
    }
});

btn_eliminar.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        eliminar(id_recibe);
        onBackPressed();
    }
});

}

private void modificar(int id, String nombre, String usuario, String password, String correo)
{
    BaseHelper helper=new BaseHelper(this,"DEMO",null,1);
    SQLiteDatabase db=helper.getWritableDatabase();
    String sql="UPDATE PERSONAS SET NOMBRE='"+nombre+"', USUARIO='"+usuario+"', PASSWORD='"+password+"', CORREO='"+correo+"' WHERE ID="+id;
    db.execSQL(sql);
}

private void eliminar(int id)
{
    BaseHelper helper=new BaseHelper(this,"DEMO",null,1);
    SQLiteDatabase db=helper.getWritableDatabase();
    String sql="DELETE FROM PERSONAS WHERE ID="+id;
    db.execSQL(sql);
}

}

这里是activity.xml

  <?xml version="1.0" encoding="utf-8"?>
  <LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical"
   tools:context="com.example.adminclases.appsensor.Listado"
   android:weightSum="1">

<ListView
    android:id="@+id/listaView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

和Android Manifest

<?xml version="1.0" encoding="utf-8"?>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".ActivityIngreso" />
    <activity android:name=".Listado" />
    <activity android:name=".Modificar" />
</application>

1 个答案:

答案 0 :(得分:0)

更改此方法:

import math
from seasonal import fit_seasons,adjust_seasons
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

s = [10 * math.sin(i * 2 * math.pi / 25) + i * i /100.0 for i in range(100)]
seasons,trend = fit_seasons(s)

adjusted = adjust_seasons(s,seasons=seasons)

residual = adjusted -trend

对此:

@Override
protected void onPostResume () {
    super.onPostResume();
    setContentView(R.layout.activity_listado);
    listView = (ListView) findViewById(R.id.listado);
    cargarlistado();
}