3

OnClickListenerを使用してmenu.javaファイル内のすべてのボタンをリンクし、それをマニフェストに定義しましたが、ボタンが機能しませんでした。マニフェストに間違って入れたのではないかと思います。

Menu.java

package com.invoice;

import android.app.Activity;
import android.os.Bundle;
import android.view.View.OnClickListener;
import android.view.View;
import android.widget.Button;

public class menu extends Activity implements OnClickListener {
    /** called the activity is first created. */
    Button button1, button2, button3, button4, button5;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        button1 = (Button)findViewById(R.id.button1);
        button2 = (Button)findViewById(R.id.button2);
        button3 = (Button)findViewById(R.id.button3);
        button4 = (Button)findViewById(R.id.button4);
        button5 = (Button)findViewById(R.id.button5);
        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        button3.setOnClickListener(this);
        button4.setOnClickListener(this);
        button5.setOnClickListener(this);
    }   
    public void onClick(View v) {
        //TODO Auto-generate method stub
        //figure out which button was pressed
        switch (v.getId()) {
        case R.id.button1:
            //do button1 action
            break;
        case R.id.button2:
            //do button2 action
            break;
        case R.id.button3:
            //do button3 action
            break;
        case R.id.button4:
            //do button4 action
            break;
        case R.id.button5:
            //do button5 action
            break;
        }


        }
    }

対応するJavaファイル(各ボタンには個別のJavaファイルがあります)

package com.invoice;


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

public class Job extends Activity
{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.job);
    }

}

マニフェストの各ボタンに追加したもの:

<activity android:name=".Help"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="com.invoice.help" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            </activity> 
4

1 に答える 1

1

startActivityボタンをクリックするたびに、アクティビティを開始するためのメソッドを呼び出す必要があります。

public void onClick(View v) {
        switch (v.getId()) {
        case R.id.button1:
            //do button1 action

            // start next activity here
            Intent intent=new Intent(menu.this,Job.class);
            startActivity(intent);
            break;
         ///.... same for all buttons 

        }
   }

AndroidManifest.xmlまた、次のように使用する前に、すべてのアクティビティを登録する必要があります。

<activity android:name=".menu"
   android:label="@string/app_name">
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
   <intent-filter>
    </activity>
<activity android:name=".Help" />
<activity android:name=".Job" />
//.....same for others
于 2013-01-27T05:24:00.887 に答える