1

このリンクに従って、アクションバーを実装しています。

私はこのコードをこのように修正しました

/** Defining Navigation listener */
        ActionBar.OnNavigationListener navigationListener = new OnNavigationListener() {

            @Override
            public boolean onNavigationItemSelected(int itemPosition, long itemId) {
                Toast.makeText(getBaseContext(), "You selected : " + actions[itemPosition]  , Toast.LENGTH_SHORT).show();
if(actions[itemPosition] == "Bookmark")
startActivity(new Intent(this,Bookmark.class))
else if(actions[itemPosition] == "Subscribe")
startActivity(new Intent(this,Subscribe.class))
else
startActivity(new Intent(this,Share.class))
                return false;
            }
        };

このコードを実行すると、 Bookmark activity が開きます。しかし、ブックマークを開いたときのようにメインレイアウトを呼び出して、クリックして戻るとメインアクティビティが開きます。ブックマークなどのリストをクリックすると、リストナビゲーションのタイトルではなく、アクティビティのみが変更されます。または、リストナビゲーションが呼び出されたときに新しいアクティビティを呼び出すために従うべき例はありますか? 私もActionBarSherlockを試しましたが、新しいアクティビティを呼び出さずにリストナビゲーションをクリックするとテキストビューが変更されます

4

2 に答える 2

1

上記の代わりにこれを試してください

    if(actions[itemPosition].compareTo("Bookmark")==0){
            startActivity(new Intent(this,Bookmark.class));
    }       
    else if(actions[itemPosition].compareTo("Subscribe")==0){
        startActivity(new Intent(this,Subscribe.class));
    }
    else{
            startActivity(new Intent(this,Share.class));
                    return false;
         }
于 2013-01-01T07:55:17.393 に答える
0

現在のアクティビティで新しいアクティビティを開くことはできません。それはそれがどのように機能するかではありません。アイテムがクリックされたときにアクティビティ内のビューを変更したい場合は、フラグメントを調べる必要があります。

于 2013-01-15T20:58:00.263 に答える