2012-09-06 3 views
1

J'essaye de développer une application de sms. J'ai réussi à récupérer tous les sms de la boîte de réception dans une liste, mais maintenant je suis coincé à un moment donné. Je veux que, lorsque l'utilisateur clique sur l'un des threads, il devrait ouvrir ce fil dans la vue détaillée. Comment puis je faire ça? Je colle l'image sur ce que je veux exactement et aussi le code que j'ai écrit pour récupérer la liste des sms.ouvrir le fil sms de spefic dans android

public class Inbox extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_inbox); 
    ListView list = (ListView) findViewById(R.id.list); 
    List<String> msgList = getSMS(); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, msgList); 
    list.setAdapter(adapter); 
} 

public List<String> getSMS() { 
    List<String> sms = new ArrayList<String>(); 
    Uri uriSMSURI = Uri.parse("content://sms/inbox"); 
    Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,null); 
    while (cur.moveToNext()) { 
     String address = cur.getString(cur.getColumnIndex("address")); 
     String body = cur.getString(cur.getColumnIndexOrThrow("body")); 
     sms.add("Number: " + address + " .Message: " + body); 
    } 
    return sms; 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_inbox, menu); 
    return true; 
} 
} 

enter image description here

Répondre

0

Voici ce que vous pouvez faire pour y parvenir.

Lorsque l'utilisateur clique sur un message dans ListView, vous pouvez récupérer ce numéro correspondant à ce message et le stocker dans une variable.

Ensuite, vous passez l'intention à l'activité qui est censée afficher la vue détaillée, avec le numéro qui a été récupéré à la dernière étape. Ici, vous obtenez tous les messages de la base de données en utilisant un curseur mais les afficher si et seulement si le numéro correspond à celui qui a été reçu à la dernière étape.