Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将数据从RecyclerViewHolder传递到手机应用程序拨号器数据是firebase解析的_Android_Firebase_Android Intent_Firebase Realtime Database_Android Recyclerview - Fatal编程技术网

Android 如何将数据从RecyclerViewHolder传递到手机应用程序拨号器数据是firebase解析的

Android 如何将数据从RecyclerViewHolder传递到手机应用程序拨号器数据是firebase解析的,android,firebase,android-intent,firebase-realtime-database,android-recyclerview,Android,Firebase,Android Intent,Firebase Realtime Database,Android Recyclerview,我从firebase数据库获取数据进行操作 viewHolder.imageButton.setOnClickListener打开手机应用程序并显示model.getPhone()中的电话号码; 并在电话拨号器中显示,以优先选择用户是否呼叫。 当我点击imageButton,无法在android studio中获取崩溃日志时,应用程序崩溃 @Override protected void populateViewHolder(MovieViewHolder viewHo

我从firebase数据库获取数据进行操作

viewHolder.imageButton.setOnClickListener
打开手机应用程序并显示model.getPhone()中的电话号码; 并在电话拨号器中显示,以优先选择用户是否呼叫。 当我点击imageButton,无法在android studio中获取崩溃日志时,应用程序崩溃

 @Override
            protected void populateViewHolder(MovieViewHolder viewHolder, final Movie model, final int position) {
                if (tvNoMovies.getVisibility() == View.VISIBLE) {
                    tvNoMovies.setVisibility(View.GONE);
                }
                viewHolder.tvMovieName.setText(model.getMovieName());
                viewHolder.address.setText(model.getAddress());
                viewHolder.phone.setText(model.getPhone());
                viewHolder.lit.setText(model.getLit());
                viewHolder.lon.setText(model.getLon());
                Picasso.with(MainActivity.this).load(model.getMoviePoster()).into(viewHolder.ivMoviePoster);
                viewHolder.ivMoviePoster.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent(MainActivity.this, DetailsActivity.class);
                        intent.putExtra("latitude", model.getLit());
                        intent.putExtra("longitude", model.getLon());
                        intent.putExtra("name", model.getMovieName());


                        startActivity(intent);

                    }
                });
                viewHolder.tvMovieName.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent(MainActivity.this, DetailsActivity.class);
                        intent.putExtra("latitude", model.getLit());
                        intent.putExtra("longitude", model.getLon());
                        intent.putExtra("name", model.getMovieName());


                        startActivity(intent);

                    }
                });
                viewHolder.imageButton.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {

                    String mobileNo = model.getPhone();
                    String uri = "tel:" + mobileNo.trim();
                    Intent intent = new Intent(Intent.ACTION_CALL);
                    intent.setData(Uri.parse(uri));
                    startActivity(intent);
                    }
                });



// all your stuff

            }

你确定你有打电话的权限吗

你需要电话许可。请确保您的AndroidManifest.xml中包含以下内容:

我的另一个猜测是,当您试图调用
mobileNo.trim()
时,
mobileNo
为空

唯一确定的方法是查看日志。您可能需要将Android Studio上的logcat视图设置更改为“详细”


或者,您可以使用
adb logcat
在终端中查看日志。复制强制关闭时,请查看日志,您应该能够找到导致它的异常。

是的,我有呼叫电话权限,并尝试了String number=“”+model.getPhone();意向意向=新意向(意向.行动拨号);setData(Uri.parse(“tel:+number”);星触觉(意向);这对我有用谢谢你的回答