2010-12-15 41 views
0

c'est un programme dans ce programme sur le bouton de suppression il n'y avait pas d'écouteur onclick s'il vous plaît résoudre ce problème ou comment puis-je obtenir l'ID d'un élément particulier.comment puis-je supprimer un élément de listview et également base de données

delete = (Button) findViewById(R.id.delete); 
    delete.setOnClickListener(this); 
    if(v.equals(delete)) 
    { 
     new AlertDialog.Builder(ShareFolioEditActivity.this) 
     .setTitle("Delete") 
    .setMessage("Are you sure ??? ") 
      .setNeutralButton("no",null) 
      .setPositiveButton("yes", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
    delete();     
    } 
})  .show(); 

    } 
} 

public void delete() 
{ 
    db.delete("sharelist", "_id="+ID, null); 
    Toast.makeText(this, "row deleted"+ID, Toast.LENGTH_SHORT).show(); 
    Bundle b=null; 
    onCreate(b); 
} 

ceci est ma mise en page xml

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="horizontal" 
android:padding="10sp"> 

<TextView 
android:id="@+id/category" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="" 
android:layout_toRightOf="@+id/catagory" 
/> 
</RelativeLayout> 

s'il vous plaît me dire solution

Merci

+0

Vous utilisez delete = (Button) findViewById (R.id.delete); et public void delete(). La fonction et le nom de la variable qui lit le bouton sont identiques. Commencez par les changer. –

Répondre

3

Lorsque vous définissez this comme écouteur onClick pour un bouton, vous devez également implémenter la méthode onClick dans votre activité. Le code qui exécute votre boîte de dialogue et exécute l'action de suppression ne sera jamais appelé dans votre cas.

Refactor le code à quelque chose comme:

delete = (Button) findViewById(R.id.delete); 
    delete.setOnClickListener(this); 
} 

public void onClick(View v) 
{ 
    if(v.equals(delete)) 
    { 
     new AlertDialog.Builder(ShareFolioEditActivity.this) 
      .setTitle("Delete") 
      .setMessage("Are you sure ??? ") 
      .setNeutralButton("no",null) 
      .setPositiveButton("yes", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int whichButton) { 
        delete();     
      }}).show(); 
    } 
} 

public void delete() 
{ 
    db.delete("sharelist", "_id="+ID, null); 
    Toast.makeText(this, "row deleted"+ID, Toast.LENGTH_SHORT).show(); 
    Bundle b=null; 
    onCreate(b); 
} 

Note: Je n'ai pas vérifié ce code, il pourrait ne pas compiler, mais il vous donne une idée.