2017-12-05 6 views
0

ListViewの選択した行の情報を新しいアクティビティに渡そうとしていますが、情報の編集や削除はできますが、次のアクティビティはできません。ListViewの情報を次のアクティビティに渡すことができません。Android

この 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; 
} 

}

、これはPLでを拡張リストビューであります私は情報 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マニフェスト

<?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> 

+0

Modificarのアクティビティに値が表示されていますか? – diegoveloper

+0

いいえ、私は入ることはできません、私はリストに触れ、それは実際には何もしません –

+0

あなたはあなたのリストビューとあなたのアイテムのレイアウトを置くことができますか? – diegoveloper

答えて

0

変更するには、この方法:これに

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

@Override 
protected void onPostResume() { 
    super.onPostResume(); 
    cargarlistado(); 
} 
+0

Modificarに入る!ありがとう、しかしそれはメインアクティビティに戻ります –

+0

あなたはどんなエラーが発生しましたか?どのように主活動に戻る?あなたはbtn_modificar o btn_eliminarを押しましたか? – diegoveloper

+0

私は行をクリックして白い画面になり、次に使用しているので –

関連する問題