Android模拟器响应:不幸的是,HelloWorld已停止

时间:2014-07-25 11:04:03

标签: java android eclipse android-layout android-emulator-plugin

我正在关注online tutorial on Udemy。我创建了默认的hello world应用程序,但是当我尝试运行它时它不会加载!我决定转到下一个视频并创建一个简单的项目,该项目应显示文本" Hello,World!"当按下按钮时,我在运行项目时在模拟器上收到此消息:

  

不幸的是,Hello World已经停止了。

我一直试图搜索多个线程,但似乎没有人给我一个解决方案。我使用的是最新的adt bundle(API 20)版本23.以下是两个文件:

MainActivity.java

package com.ebook.helloworld;
import android.app.Activity;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void onBtnTouch(View v){
        TextView tv = (TextView) findViewById(R.id.textView1);
        tv.setText("Hello, World!");        
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    } 
}

activity_main.xml中

<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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.ebook.helloworld.MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:onClick="onBtnTouch"
        android:text="Say Hi" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="93dp" 
        android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

你在哪里设置按钮? 你应该加入onCreate:

Button button1 = (Button)this.findViewById (R.id.button1);

然后你可以:

button1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            //do what you want to do...

        }
});