0

他にも同様の投稿があることは知っていますが、どれも私に役立つ解決策を持っていませんでした。

コード: http: //pastebin.com/LSC3eH8p リポジトリ:https ://github.com/josiah14/FuelConsumptionTutorial

ボタンをクリックしても、ConsCalcアクティビティの[レコードの追加]ボタンのOnClickイベントが発生しません。最初はホットスワップの問題だと思っていましたが、最後の2つのテストの間にアプリを完全にアンインストールしましたが、それでもコールバックがトリガーされません。ここで何が起こっているのですか?

public class AddRecord extends Activity {

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

        // Show the Up button in the action bar.
//      getActionBar().setDisplayHomeAsUpEnabled(true);
    }

public class CalcMenu extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.calc_menu);

    // create a button object
    final Button buttonAddRecord = (Button) findViewById(R.id.buttonAddRecord);
    // attach a listener to the button
    buttonAddRecord.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // create an Intent object for this activity, including its destination class
            Intent myIntent = new Intent(CalcMenu.this, AddRecord.class);
            // run the activity
            startActivity(myIntent);
        }
    });

そしてマニフェスト...

        <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="idig.za.net.conscalc"
        android:versionCode="1"
        android:versionName="1.0" >

        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="15" />

        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="idig.za.net.conscalc.GetRegistration"
                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="idig.za.net.conscalc.SplashScreen" >
            </activity>
            <activity android:name="idig.za.net.conscalc.CalcMenu" >
            </activity>
            <activity android:name="idig.za.net.conscalc.SearchRecord" >
            </activity>
            <activity android:name="idig.za.net.conscalc.AddRecord">
            </activity>
        </application>

    </manifest>
4

1 に答える 1

1

ペーストビンを見ると、buttonAddRecordのonClickListenerを空のOnClickListenersで数回設定しているようです。さまざまなボタンにonClickListenerを設定しようとしたときに、コピーと貼り付けのエラーが発生する可能性があると思います。

修正されたコード:

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

    // create a button object
    final Button buttonAddRecord = (Button) findViewById(R.id.buttonAddRecord);
    // attach a listener to the button
    buttonAddRecord.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                            // create an Intent object for this activity, including its destination class
                            Intent myIntent = new Intent(CalcMenu.this, AddRecord.class);
                            // run the activity
                            startActivity(myIntent);
                    }
            });

    // create a button object
    final Button buttonCalculateConsumption = (Button) findViewById(R.id.buttonCalculateConsumption);
    // attach a listener to the button
    buttonCalculateConsumption.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
//                              // create an Intent object for this activity, including its destination class
//                              Intent myIntent = new Intent(CalcMenu.this, CalculateConsumption.class);
//                              // run the activity
//                              startActivity(myIntent);
                    }
            });

    // create a button object
    final Button buttonDeleteRecord = (Button) findViewById(R.id.buttonDeleteRecord);
    // attach a listener to the button
    buttonDeleteRecord.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
//                              // create an Intent object for this activity, including its destination class
//                              Intent myIntent = new Intent(CalcMenu.this, DeleteRecord.class);
//                              // run the activity
//                              startActivity(myIntent);
                    }
            });

    // create a button object
    final Button buttonEditRecord = (Button) findViewById(R.id.buttonEditRecord);
    // attach a listener to the button
    buttonEditRecord.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                            // TODO Auto-generated method stub
                    }
            });
}
于 2013-01-20T07:43:24.110 に答える