0

ボタンを使用してアプリのアクティビティを切り替えようとしていますが、強制終了し続けます。これが私の AndroidManifest.xml です。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.idiedastyear"
android:versionCode="1"
android:versionName="1.0" >

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

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".tabView"
        android:label="@string/title_activity_tab_view" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name=".calculator"
        android:label="Calculator"  >
    </activity>
</application>

ボタンのあるアクティビティは次のとおりです。

    package com.idiedastyear;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.support.v4.app.NavUtils;


public class tabView extends Activity {

    Button calculator;

    @Override



    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tab_view);
        calculator = (Button)findViewById(R.id.calculatorButton);

        calculator.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent calculatorIntent = new Intent(v.getContext(), calculator.class);
                startActivityForResult(calculatorIntent, 0);
            }
        });
    }




}

誰かがそれを助けることができれば、それは素晴らしいことです! ありがとう!

編集[Logcat]:

07-06 17:38:06.683: D/memalloc(25668): イオン: マップされたバッファ ベース:0x5ce6c000 サイズ:3768320 オフセット:0 fd:53 07-06 17:38:08.885: D/memalloc(25668): イオン:マップされたバッファ ベース:0x5d304000 サイズ:3768320 オフセット:0 fd:60 07-06 17:38:08.985: D/CLIPBOARD(25668): 入力開始時にクリップボード ダイアログを非表示: 他の誰かによって終了... ! 07-06 17:38:11.738: D/memalloc(25668): イオン: マップされたバッファー ベース:0x5d69c000 サイズ:3768320 オフセット:0 fd:63 07-06 17:38:12.168: D/AndroidRuntime(25668): シャットダウンVM 07-06 17:38:12.168: W/dalvikvm(25668): threadid=1: キャッチされない例外で終了するスレッド (group=0x40c72a68) 07-06 17:38:12.178: E/AndroidRuntime(25668): 致命的な例外: main 07-06 17:38:12.178: E/AndroidRuntime(25668): java.lang.RuntimeException: アクティビティ ComponentInfo {com.idiedastyear/com.idiedastyear.calculator} を開始できません: android.view.

4

2 に答える 2

0

コードには次のものがあります。

Intent calculatorIntent = new Intent(v.getContext(), calculator.class);

2 番目のパラメーターは、Activity クラス名であると想定されています。また、計算機のインスタンス名と、起動している計算機.クラスを混同しているようです。

次のことをお勧めします。

  1. CalculatorActivity という Activity クラスを作成します。
  2. AndroidManifest.xml でそれを定義したことを確認してください
  3. 次の行を使用してアクティビティを起動します。

Intent calculatorIntent = new Intent(getBaseContext(), CalculatorActivity.class);

さらに、正確に支援するために、LogCat 出力も提供してください。

于 2012-07-06T16:49:02.827 に答える
0

使用しないでください

 startActivityForResult(calculatorIntent, 0);

上記の使用の代わりに

startActivity(calculatorIntent);

startActivityForResult(calculatorIntent, 0); 開始している活動の結果を得るために使用されます。アクティビティを切り替えたいだけなら startActivity で十分です。より良い回答を得るには、logcat を投稿する必要があります。

于 2012-07-06T17:05:30.480 に答える