Anruf über contextmenü ruft falsche nummer an

  • 5 Antworten
  • Neuester Beitrag
Diskutiere Anruf über contextmenü ruft falsche nummer an im Android App Entwicklung im Bereich Betriebssysteme & Apps.
A

Astarte

Neues Mitglied
Ich habe eine 3-zeilige listView, deren daten von einer datenbank gespeist wird.
Also name, adresse und telefonnummer.
mein problem ist jetzt, dass bei einem anruf nur die nummer 32573 gewählt wird, und nicht die nummer, die in der listView steht.
kann mir wer sagen warum?



Code:
@Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){
        super.onCreateContextMenu(menu, v, menuInfo);
        MenuInflater mi = getMenuInflater();
        mi.inflate(R.menu.main_long, menu);
    }
    @Override
    public boolean onContextItemSelected(MenuItem item){
        switch(item.getItemId()){
        case R.id.menu_delete:
            AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo();
            db.deleteKunde(info.id);
            return true;
       
        case R.id.menu_anrufen:
            Intent call = new Intent(Intent.ACTION_CALL);
            call.setData(Uri.parse("tel:" + getText(R.id.txt_list_kundetelefon)));
            startActivity(call);
            
            return true;
        default:
        return super.onContextItemSelected(item);
        }
    }
 
StefMa

StefMa

Experte
Log doch mal was in R.id.txt_list_kundetelefeon drinne steht.
Vielleicht bekomsmt du da schon den falschen Wert.

Ansonsten sind es etwas zu wenig Infos um dir zu sagen warum was falsch läuft...

Gruß
 
A

amfa

Experte
Jetzt mal so auf Verdacht.

ich vermute mal du hast mehrere Listeneinträge.
Und in jedem hast du ein Feld das txt_list_kundetelefon heißt mit
getText(R.id.txt_list_kundetelefon)

bekommst du jetzt vermutlich immer das erste zurück geliefert.

Du musst also erst auf das einzelne item zugreifen.
 
A

Astarte

Neues Mitglied
kannst du mir sagen, wie ich das mache?
 
M

MandraKobold

Ambitioniertes Mitglied
Eine Möglichkeit wäre, über das Klick-Ereignis der ListView den entsprechenden Eintrag finden und den Wert in einer Variablen zu speichern, um ihn bei klick auf das Kontextmenü innerhalb von URI.parse zu verwenden.
 
A

Astarte

Neues Mitglied
mandraKobold danke dir, hat funktioniert. aber nicht auf dem emulator, nur auf dem handy ;)