2

今日、Android SDK バンドルをインストールしました。「My First App」チュートリアルに従っていますが、行き詰っています。

MainActivity クラス (プロジェクトの src/ ディレクトリにあります) を開き、対応するメソッドを追加します。

/** Called when the user clicks the Send button */
public void sendMessage(View view) {
    // Do something in response to button
}

これをファイルのどこに置くのですか?これは「MainActivity.java」ファイルですか?

私は試してみましたが、エラーが発生し続けているため、明らかにどこかで間違っています。

activity_main.xml :

<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"
        android:onClick="sendMessage" />
</LinearLayout>

MainActivity.java :

    package com.example.myfirstapp;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;



public class MainActivity extends Activity {

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


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

問題が明確になったことを願っています。フォーラムで回答を探しましたが、何も見つかりませんでした。

4

3 に答える 3

3

(たとえばactivity_main.xml)xmlレイアウトにボタンがあり、ボタンに以下の属性がある場合

 android:onClick="sendMessage"

そして、あなたは以下を持っていますMainActiivty.java

 setContentView(R.layout.activity_main); 

あなたは以下を持っている必要がありますMainActivity.java

/** Called when the user clicks the Send button */
public void sendMessage(View view) {
    // Do something in response to button
}

例:

MainActivity.java

// Your imports
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); //setting the layout to activity
}
/** Called when the user clicks the Send button */
public void sendMessage(View view) {
    // Do something in response to button
}

}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="vertical">

    // other widgets
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="146dp"
        android:onClick="sendMessage"
        android:text="Button" />

</RelativeLayout>
于 2013-10-12T14:04:37.603 に答える
0

右上の MainActivity.java に入れます

public class MainActivity extends ActionBarActivity {

これを行った後、インポートする必要がある場合があります。コントロール/シフト/ O(ゼロではない)を押してこれを行います

于 2014-05-26T17:56:11.557 に答える