2016-06-28 6 views
-1

解決済み:私の携帯電話に完全に新鮮なインストールが必要でした。私は私のアプリをunistalledし、アンドロイドスタジオを介して再びインストールし、すべてが働いた。二次的な活動がアンドロイドで始まっていない

私はアンドロイドアプリを作ろうとしており、私のアクションバーには「約」メニュー項目があります。 「About」をクリックしても何も起こりません。新しいアクティビティは決して星印になりません。

これは私が持っているコードです:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    int id = item.getItemId(); 

    final ViewGroup viewGroup = (ViewGroup) ((ViewGroup) this 
      .findViewById(android.R.id.content)).getChildAt(0); 
    int id_view = viewGroup.getId(); 

    if (id == R.id.themeChanger) { 
     if (id_view == R.id.activity_main) { 
      setContentView(R.layout.activity_main_dark_modern); 
     } else if(id_view == R.id.dark_modern) { 
      setContentView(R.layout.activity_main_light_modern); 
     } else if(id_view == R.id.light_modern) 
     { 
      setContentView(R.layout.activity_main); 
     } 
    } else if(id == R.id.about) 
    { 
     Intent intent = new Intent(this, DisplayAbout.class); 
     intent.putExtra("key", id); 
     startActivity(intent); 
    } 

    return super.onOptionsItemSelected(item); 
} 

私はプログラムを実行すると、私のオプションメニュー上のアクティビティをについてをクリックしたときにidがR.id.aboutと同じであることが確認されていても開始していません。

マイDisplayAboutクラスは、可能な限りシンプルであり、それは唯一のテキストビューがあります。

<activity 
     android:name=".DisplayAbout" 
     android:label="@string/about"> 
    </activity> 

例えばID == R:私はこれを持っているマニフェストファイルでも

package com.tzegian.simplelitecalculator; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

public class DisplayAbout extends AppCompatActivity { 

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

を.id.themeChanger私のコードは、魅力のように動作しますが、以下の「about」では動作しません。

私はアンドロイドスタジオで働いて、私は実際のLGデバイスでテストします。

UPDATE:LOGCAT最初のオプションをクリックし、約MenuItemの

06-28 18:12:30.410 8991-8991/com.tzegian.simplelitecalculator I/ViewRootImpl: ViewRoot's Touch Event : Touch Down 

06-28 18:12:30.490 8991-8991/com.tzegian.simplelitecalculator I/ViewRootImpl: ViewRoot's Touch Event : Touch UP 

06-28 18:12:30.510 8991-8991/com.tzegian.simplelitecalculator W/dalvikvm: method Landroid/support/v7/widget/ListViewCompat;.lookForSelectablePosition incorrectly overrides package-private method with same name in Landroid/widget/ListView; 

06-28 18:12:30.520 8991-8991/com.tzegian.simplelitecalculator I/dalvikvm: Could not find method android.widget.PopupWindow.setEnterTransition, referenced from method android.support.v7.widget.MenuPopupWindow.setEnterTransition 

06-28 18:12:30.520 8991-8991/com.tzegian.simplelitecalculator W/dalvikvm: VFY: unable to resolve virtual method 16884: Landroid/widget/PopupWindow;.setEnterTransition (Landroid/transition/Transition;)V 

06-28 18:12:30.520 8991-8991/com.tzegian.simplelitecalculator D/dalvikvm: VFY: replacing opcode 0x6e at 0x000a 

06-28 18:12:30.520 8991-8991/com.tzegian.simplelitecalculator I/dalvikvm: Could not find method android.widget.PopupWindow.setExitTransition, referenced from method android.support.v7.widget.MenuPopupWindow.setExitTransition 

06-28 18:12:30.520 8991-8991/com.tzegian.simplelitecalculator W/dalvikvm: VFY: unable to resolve virtual method 16885: Landroid/widget/PopupWindow;.setExitTransition (Landroid/transition/Transition;)V 

06-28 18:12:30.520 8991-8991/com.tzegian.simplelitecalculator D/dalvikvm: VFY: replacing opcode 0x6e at 0x000a 

06-28 18:12:30.520 8991-8991/com.tzegian.simplelitecalculator I/ListPopupWindow: Could not find method setEpicenterBounds(Rect) on PopupWindow. Oh well. 

06-28 18:12:30.560 8991-8991/com.tzegian.simplelitecalculator I/dalvikvm: Could not find method android.support.v7.widget.DropDownListView.drawableHotspotChanged, referenced from method android.support.v7.widget.DropDownListView.setPressedItem 

06-28 18:12:30.570 8991-8991/com.tzegian.simplelitecalculator W/dalvikvm: VFY: unable to resolve virtual method 14365: Landroid/support/v7/widget/DropDownListView;.drawableHotspotChanged (FF)V 

06-28 18:12:30.570 8991-8991/com.tzegian.simplelitecalculator D/dalvikvm: VFY: replacing opcode 0x6e at 0x000a 

06-28 18:12:30.570 8991-8991/com.tzegian.simplelitecalculator I/dalvikvm: Could not find method android.view.View.drawableHotspotChanged, referenced from method android.support.v7.widget.DropDownListView.setPressedItem 

06-28 18:12:30.570 8991-8991/com.tzegian.simplelitecalculator W/dalvikvm: VFY: unable to resolve virtual method 15927: Landroid/view/View;.drawableHotspotChanged (FF)V 

06-28 18:12:30.570 8991-8991/com.tzegian.simplelitecalculator D/dalvikvm: VFY: replacing opcode 0x6e at 0x004a 

06-28 18:12:31.610 8991-8991/com.tzegian.simplelitecalculator I/ViewRootImpl: ViewRoot's Touch Event : Touch Down 

06-28 18:12:31.630 8991-8991/com.tzegian.simplelitecalculator I/ViewRootImpl: ViewRoot's Touch Event : Touch UP 

06-28 18:12:47.240 8991-8991/com.tzegian.simplelitecalculator D/BubblePopupHelper: isShowingBubblePopup : false 

06-28 18:12:47.240 8991-8991/com.tzegian.simplelitecalculator D/BubblePopupHelper: isShowingBubblePopup : false 
+0

私はlogcatを間違えていますか? –

+0

最初の投稿でlogcatをコピーしてください。それは本当に "大きな"原因で、これは私の最初のadnroidプロジェクトなので、logcatなどのエラーについては正確にはわかりません。 – PavTze

+0

オプションをクリックすると何が起こるのでしょうか? –

答えて

1

を2回目にクリックした後、私はあなたが言及したされているIDを確認したと信じていた後。そして

int id = item.getItemId(); 

はnullではありません(私の言いビュー)

を使用してみてください、

意向I =新しいテント(getApplicationContext()、DisplayAbout.class)。 startActivity(i);

+0

IDがnullではありません。デバッグでチェックしました。また、私はすでにあなたが言った、それはまだ動作しませんでした。 – PavTze

+0

それから論理的なエラーかもしれません..!あなたのappの下に別のelseブロックを置いて、あなたのappをデバッグしてください。 –

+0

解決策を見つけたので、最初の投稿を更新しました。とにかくありがとうございました。 – PavTze

0

私の推測では、idが間違っていて、vmがifブロックに入らないということでしょう。それをチェックしてみてください。

+0

解決策を見つけたので、最初の投稿を更新しました。とにかくありがとうございました。 – PavTze

0

私は自分の携帯電話からアプリケーションをunistallingすることで私の問題を解決し、再度完全に新しいインストールを行います。

関連する問題