2016-05-09 6 views
-1

Ich habe eine Listenansicht mit Person Bild, Name und Bildsymbol für den Aufruf.
Ich habe das Bild und den Namen von Arrays übergeben, aber gibt Fehler beim Übergeben von Telefonnummern als Array.Anrufen von Bildsymbol in einer Listenansicht von Fragmenten in Android

Arrays

String[] names = {"abc", "xyz"} 
int [] pics = {getting 2 images from drawable}; 
String[] phone_numbers = {"0110101010","0110101010"}; 

Mein Code

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 
    super.onCreateView(inflater, container, savedInstanceState); 

rootView = inflater.inflate(R.layout.fragment_student_list, container,false); 


studentList=(ListView) rootView.findViewById(R.id.studentListView); 

//adapter object set list view to it 
studentListAdapter madapter = new studentListAdapter (getActivity(),names,pics); 

//calling function 
studentList.setOnItemClickListener(new OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, 
      long id) { 
     Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse(phone_numbers)); 

    } 

}); 

Edit: Mein Fehler ist, wenn Uri.parse(phone_numbers)); Fehler zeigt. String phone_numbers = "0110101010" korrigieren Sie den Fehler (Entfernen als Array). Aber es ist nicht die Lösung, die ich will.

Bitte helfen Sie mir Anruf von Listenelementen zu starten.

+0

in Ihrem aufzunehmen, was das ist Error? –

+0

und Ihren Adaptercode anzeigen –

+0

Haben Sie im ShopInfoAdapter-Klassenkonstruktor vom Typ String [] einen weiteren Parameter hinzugefügt, um die Telefonnummer zu erhalten? –

Antwort

0

Anstatt das komplette Array von Telefonnummern an die Uri.parse() Methode zu übergeben, übergeben Sie eine einzelne Nummer von Ihrem Array an diese Methode.

Gefällt Ihnen dieses

Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse(phone_numbers[0])); 
+0

durch Hinzufügen dieser zeigt leider gestoppt Fehler. Hilf mir dabei. @VivekMishra – tenten

+0

Welchen Fehler bekommen Sie? –

+0

ist eine Nullzeigerausnahme. @VivekMishra – tenten

0

versuchen Sie dies:

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 
     super.onCreateView(inflater, container, savedInstanceState); 

    rootView = inflater.inflate(R.layout.fragment_student_list, container,false); 


    studentList=(ListView) rootView.findViewById(R.id.studentListView); 

    //adapter object set list view to it 
    studentListAdapter madapter = new studentListAdapter (getActivity(),names,pics); 

    //calling function 
    studentList.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, 
       long id) { 
      Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phone_numbers[targetposition])); 
startActivity(intent); 


     } 

    }); 

EDIT: i bearbeitet den Code oben, auch sicherstellen, dass diese AndroidManifest

<uses-permission android:name="android.permission.CALL_PHONE" /> 
+0

abstürzt, indem Sie dies zeigt leider nicht gestoppt Fehler. Hilf mir dabei. @locomain, – tenten

Verwandte Themen