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



我正在学习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>

按钮设置在哪里?你应该输入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...
        }
});

最新更新