Java 无法让google教程正常工作

Java 无法让google教程正常工作,java,android,Java,Android,我刚刚开始学习开发android应用程序,为此我遵循了谷歌的 在本教程中,只有一个文本框和一个按钮。按下按钮后,它将从文本框中获取文本并在另一个活动中显示。但不知怎么的,这个按钮对我不起作用 下面是片段_main.xml、MainActivity.java和DisplayMessageActivity.java的代码。我只是想知道我是做错了什么,还是错过了什么 fragmant_main.xml: <?xml version="1.0" encoding="utf-8"?> <

我刚刚开始学习开发android应用程序,为此我遵循了谷歌的

在本教程中,只有一个文本框和一个按钮。按下按钮后,它将从文本框中获取文本并在另一个活动中显示。但不知怎么的,这个按钮对我不起作用

下面是片段_main.xml、MainActivity.java和DisplayMessageActivity.java的代码。我只是想知道我是做错了什么,还是错过了什么

fragmant_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="horizontal">
    <EditText android:id="@+id/edit_message"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hint="@string/edit_message" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_send"
        onClick="sendMessage" />
</LinearLayout>
DisplayMessageActivity.java

package com.example.first;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class DisplayMessageActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Get the message from the intent
        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

        // Create the text view
        TextView textView = new TextView(this);
        textView.setTextSize(40);
        textView.setText(message);

        // Set the text view as the activity layout
        setContentView(textView);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.display_message, menu);
        return true;
    }

    @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);
    }

    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_display_message,
                    container, false);
            return rootView;
        }
    }

}
编辑**


在fragment_main.xml文件中,按钮标签的最后一行应该是:
android:onClick=“sendMessage”
,而不是
onClick=“sendMessage”

您含糊不清的“但不知怎么的,按钮对我不起作用”没有提供任何信息,您的问题很快就会被关闭。如果您需要任何帮助,请提供所有相关的详细信息。很简单,当我在写入文本字段后按下按钮时。它不起作用。什么也没有发生。我收到一个错误,类型MainActivity的方法getActivity()未定义,因此我进行了快速搜索并尝试
MainActivity。这个.getActivity()
,但仍然是相同的错误。Hmmm,这是因为sendMessage方法实际上在MainActivity类中,而不是在片段中。我会继续查找。在您的fragment\u main.xml文件中,按钮标记的最后一行应该是:android:onClick=“sendMessage”而不是onClick=“sendMessage”,我刚刚做了一个巨大的facepalm。我的一部分人期待着这一切。
package com.example.first;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class DisplayMessageActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Get the message from the intent
        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

        // Create the text view
        TextView textView = new TextView(this);
        textView.setTextSize(40);
        textView.setText(message);

        // Set the text view as the activity layout
        setContentView(textView);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.display_message, menu);
        return true;
    }

    @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);
    }

    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_display_message,
                    container, false);
            return rootView;
        }
    }

}