2017-11-30 5 views
-1

私はlistviewから電話をかけようとしました。それぞれのリストでは、異なる数字で呼び出すのは、配列に入れた数字に依存しますが、リストビューをクリックしたときに表示されるのは「コールが送信されません」だけです。
助けてください。listviewを呼び出す

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    listvw = (ListView) findViewById(R.id.listvw); 

    String[] names = {"อุบัติเหตุบนทางด่วน","ตำรวจทางหลวง","ศูนย์ควบคุมจราจร","แจ้งรถหาย","แพทย์ฉุกเฉิน"}; 
    final String[] tel = {"0851440279","0830169815","0633132327","0960712315","0809635663"}; 

    ArrayAdapter<String> name = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,names); 
    listvw.setAdapter(name); 

    listvw.setOnItemClickListener(new AdapterView.OnItemClickListener(){ 



     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 



      String phone = "tel:" + tel.toString().trim(); 

      Intent i = new Intent(Intent.ACTION_CALL); 
      i.setData(Uri.parse(phone)); 


      if (ActivityCompat.checkSelfPermission(MainActivity.this, 
        Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) { 
       return;} 
      startActivity(i); 



     } 
    }); 


} 


} 
+0

[Ljava.lang.String; @ 1540e19d - 電話番号のようですか?](https://ideone.com/PyDjfk) – Selvin

+0

これは大丈夫です – april

答えて

1

この行に変更を行います。

String phone = "tel:" + tel.toString().trim(); 

とに置き換えます

エルス
String phone = "tel:" + tel[position].toString().trim(); 

結構です。それは今働くでしょう。

と、このコードにより、利用者から許可をチェックするのを忘れないでください:コーディング

ActivityCompat.requestPermissions(this,new String[]{android.Manifest.permission.CALL_PHONE}, 1); 

public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { 
    switch (requestCode) { 
     case 1: { 
      // If request is cancelled, the result arrays are empty. 
      if (grantResults.length > 0 
       && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
       Log.d("yes","yes"); 

      } else { 
       Log.d("yes","no"); 
       // permission denied, boo! Disable the 
       // functionality that depends on this permission. 
      } 
      return; 
     } 
     // other 'case' lines to check for other 
     // permissions this app might request 
    } 
} 

ハッピー。

関連する問題