0

2 つのアクティビティと SomeSpecialIntent という名前の Intent 拡張クラスを作成しました。最初のアクティビティのテキストビューを押すと、新しい SomeSpecialIntent クラス インスタンスを使用して 2 番目のアクティビティに移動しますが、getIntent() instnaceof SomeSpecialIntent というフレーズが返されるため、途中で奇妙なことが起こります。 2 番目のアクティビティでは false です。

どうしたの?

私が行ったチェックのコード:

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView textView = (TextView)findViewById(R.id.textView1);
        textView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                startActivity(new SomeSpecialIntent(MainActivity.this,SomeActivity.class));
            }

        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }


}


public class SomeActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d("Check",""+(getIntent() instanceof SomeSpecialIntent));//returns false!!!!
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}


public class SomeSpecialIntent extends Intent {

    public SomeSpecialIntent(Context context,
            Class<?> class1) {
        super(context,class1);
    }

}
4

0 に答える 0