Java 为什么在添加按钮单击事件时不幸停止获取消息?

Java 为什么在添加按钮单击事件时不幸停止获取消息?,java,android,android-studio,Java,Android,Android Studio,没有按钮代码,一切正常。 我在日志里什么也没看到 这是MainActivity.java代码: package com.test.webservertest; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.speech.tts.TextToSpeech; import android.speech.tts.TextToSpeech.OnInitLis

没有按钮代码,一切正常。
我在日志里什么也没看到

这是MainActivity.java代码:

package com.test.webservertest;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.support.v7.app.ActionBarActivity;
import android.util.AndroidRuntimeException;
import android.util.Xml;
import android.view.Menu;
import android.view.MenuItem;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.content.Context;
import android.view.View.OnClickListener;

import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.util.EncodingUtils;
import org.json.JSONObject;
import org.json.JSONTokener;

import java.io.DataOutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.Locale;
import java.net.URLConnection;

import java.net.HttpURLConnection;
import java.io.*;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.logging.Logger;
import android.widget.Button;


public class MainActivity extends ActionBarActivity
{
    private static final int MY_DATA_CHECK_CODE = 0;
    public static MainActivity currentActivity;
    TextToSpeech mTts;
    private String targetURL;
    private String urlParameters;
    private Button btnClick;
    private String clicking = "clicked";

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setContentView(new SingleTouchEventView(this, null));

        addListenerOnButton();

        currentActivity = this;

        initTTS();


    }

    public void addListenerOnButton() {

        btnClick = (Button) findViewById(R.id.checkipbutton);

        btnClick.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View arg0)
            {

                Intent browserIntent =
                        new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.mkyong.com"));
                startActivity(browserIntent);

            }

        });

    }
在布局中:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                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=".MainActivity">

    <TextView
        android:text="WEBSERVER"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:textSize="50dp"
        android:textColor="#FFF"
        android:id="@+id/textView"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Check Ip"
        android:id="@+id/checkipbutton"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"/>

</RelativeLayout>

如果调用方法:addListenerOnButton();我在安卓系统上得到消息:不幸的是,安卓系统已经停止,然后程序关闭。 如果我没有调用addListenerOnButton();然后程序将继续正常工作


如果不调用addListenerOnButton(),则在运行程序时也会出现这种情况;我在屏幕上根本看不到我在布局设计器中添加的按钮。

您设置了两次contentview,取消了第一个按钮的布局 如果您注释掉对setContentView的第二个调用,它可能会起作用

 setContentView(R.layout.activity_main);
 //setContentView(new SingleTouchEventView(this, null)); 
如果你想使用

SingleTouchEventView


考虑将其添加到您的活动\u主布局中

“我在日志中没有看到任何内容”-请再次查看。当应用程序崩溃时,始终存在堆栈跟踪。