Javascript 安卓工作室可以';我没办法打电话

Javascript 安卓工作室可以';我没办法打电话,javascript,java,android,android-studio,Javascript,Java,Android,Android Studio,按钮在没有WebView的情况下单独工作,但我添加了只有WebView工作,单击按钮没有任何作用 这是我的maintactivty.java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myWebView = (WebView) findVi

按钮在没有WebView的情况下单独工作,但我添加了只有WebView工作,单击按钮没有任何作用

这是我的maintactivty.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    myWebView = (WebView) findViewById(R.id.myWebView);
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    myWebView.loadUrl("http://");

}
Intent intentCall;
public void onClick(View v){
    intentCall.setAction("android.intent.action.CALL");
    intentCall.setData(Uri.parse("tel:"));
    startActivity(intentCall);
    finish();
}}
这是我的舱单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.yellowribbon.evindrake.yellowribbonv3" >
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity android:name=".MainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

Activity_Main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="org.yellowribbon.evindrake.yellowribbonv3.MainActivity">

<WebView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:id="@+id/myWebView"
    android:layout_alignParentBottom="true" />

<Button
    android:text="@string/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/button"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />
</RelativeLayout>

将代码添加到activity\u main.xml文件中的内部按钮组件中

android:onClick="onClick"

用户可以按下或单击按钮来执行操作

活动中按钮的典型用法如下:

但是,您可以使用
android:onClick
为XML布局中的按钮指定方法,而不是将
OnClickListener
应用于活动中的按钮您正在尝试在没有此属性的情况下实现此目标

现在,当用户单击按钮时,Android系统调用活动的
myClickMethod(View)
(我创建的)方法。为了使其工作,该方法必须是公共的,并接受视图作为其唯一参数。例如:

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="myClickMethod"
        android:text="button" />
由于
Intent intentCall

使用
onClick(视图v)
如下所示

public void onClick(View v) {
    String number = "18002738255";
    Uri call = Uri.parse("tel:" + number);
    Intent surf = new Intent(Intent.ACTION_CALL, call);
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    startActivity(surf);
}

发布您的XML!你是说你的buton在没有webView的情况下打电话,但是当你添加webView时它不起作用?好的,这是我的活动Main,你能回答我的问题吗?如果没有webView,它能工作吗?是的,它不能工作是的。你没有将你的侦听器指向你的按钮,这就是为什么应用程序仍然崩溃。。。我复制了粘贴的代码,它将id更改为我添加的call方法,但它仍然崩溃。@Evin Drake您不需要做任何其他更改,一旦您指向您的onClick方法,使用我的onClick方法并运行它,它将工作我粘贴了它,它仍然崩溃谢谢您现在正在工作。感谢您的快速回复:D@Evin德雷克:如果这对你有帮助的话,你可以把它标记为答案/投票:哦,我的上帝,谢谢你现在工作得很好。多谢各位
public void myClickMethod(View view) {
     // Perform action on click after identify the view
 }
public void onClick(View v) {
    String number = "18002738255";
    Uri call = Uri.parse("tel:" + number);
    Intent surf = new Intent(Intent.ACTION_CALL, call);
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    startActivity(surf);
}