0

このアプリケーションをあるアクティビティから次のアクティビティに移動させました。そして戻ってきますが、それが私のメインアクティビティに戻った後、次のビューに戻るためのボタンは何もしませんか?startActivityForResultからのものだと思いましたが、別の方法で実行しましたが、まだ機能していません...

ここにいくつかのコードがあります:ボタンが押された場合

if (search.isPressed() && searchPressed == false) {
            // show search list
            switch1 = new Intent(MainActivity.this, SearchActivity.class);
            // startActivityForResult(switch1, 0);
            startActivity(switch1);
        }

次のアクティビティで:

private OnItemClickListener listListener = new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        String text = (String) ((TextView) arg1).getText();
        String[] selected = text.split(" - ");
        selected[0] = selected[0].replace(' ', '_');
        Log.w("COMPANY", selected[0]);
        Log.w("PART", selected[1]);

        // Intent data = new Intent(SearchActivity.this,
        // MainActivity.class);
        // data.putExtra("key", selected);
        // setResult(RESULT_OK, data);
        MainActivity.searchData = selected;

        finish();

        // startActivity(switch2);
    }

};

//// \アイテムを押すと、メイン画面に戻ります

4

2 に答える 2

1

これまでに投稿した内容から、startActivity()ではなくifステートメントが原因で実際​​に問題が発生していると思います。

このifステートメント内にログ出力を入れてみてください。

if (search.isPressed() && searchPressed == false) {
        Log.d(TAG, "Search has been pressed");
        // show search list
        switch1 = new Intent(MainActivity.this, SearchActivity.class);
        // startActivityForResult(switch1, 0);
        startActivity(switch1);
 }

ログキャットに出力が表示されない場合、問題はifステートメントにあります。私があなたのためにそれを理解するのを手伝うことができるならば、あなたがこのあたりからもう少しコードを投稿するならば。しかし、あなたの状態は矛盾しているようです。私には、検索が押されているか押されていないかを確認しているように見えます。

特にsearchPressedブール値が設定されている場合は、MainActivityコードをもう少し投稿してください。

于 2012-01-05T14:40:42.893 に答える
0

コードの最初の部分にある2つの条件のうちの1つは、最初から失敗します。

したがって、どちらの条件でも

search.isPressed()

または状態

searchPressed == false

真実ではない

于 2012-01-05T14:41:36.717 に答える