0

我有两个活动与两个布局和一个操作栏。 我使用的最小API是14. 我使用intent从一个活动转到另一个活动并没有问题,并且我想在操作栏中创建一个主页按钮以返回到我选择的活动。 我实现了一个菜单,并使用android开发人员网站上的指南从xml调用它,但是当我单击操作栏上的按钮/菜单时,它会与未捕获的异常一起崩溃。意图在行动酒吧不工作

主要活动类:

  package com.example.quiz; 

     import android.app.ActionBar; 
     import android.app.Activity; 
     import android.content.Intent; 
     import android.os.Bundle; 
     import android.view.Menu; 
     import android.view.MenuInflater; 
     import android.view.MenuItem; 
     import android.view.View; 
     import android.view.View.OnClickListener; 
     import android.widget.Button; 

     public class MainActivity extends Activity { 

    Button new_b; 
    ActionBar actionBar; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    ActionBar actionBar = getActionBar(); 
    actionBar.show(); 


     new_b=(Button)findViewById(R.id.new_button); 

     new_b.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Intent intent = new Intent(MainActivity.this,HomeActivity.class); 
      startActivity(intent); 
     }; 
      }); 

     } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu items for use in the action bar 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.activity_main_actions, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle presses on the action bar items 
     switch (item.getItemId()) { 
      case R.id.home_button:homeClick(); 
       return true; 
      case R.id.info_button:homeClick(); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item);     
     }   
    } 

    private void homeClick() { 
     Intent intent_home = new Intent(this,HomeActivity.class); 
     intent_home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(intent_home);  
    } 
     } 
     } 

家庭活动类:

  import android.app.ActionBar; 
     import android.app.Activity; 
     import android.content.Intent; 
     import android.os.Bundle; 
     import android.view.Menu; 
     import android.view.MenuInflater; 
     import android.view.MenuItem; 

     public class HomeActivity extends Activity { 

    ActionBar actionBar; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.home); 
    ActionBar actionBar = getActionBar(); 
    actionBar.show(); 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu items for use in the action bar 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.activity_main_actions, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle presses on the action bar items 
     switch (item.getItemId()) { 
      case R.id.home_button:homeClick(); 
       return true; 
      case R.id.info_button:homeClick(); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item);     
     } 

    } 

    private void homeClick() { 
     Intent intent_home = new Intent(this,HomeActivity.class); 
     intent_home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(intent_home);  
     } 
     } 
     } 

我可以用另一种方式,或者我能做些什么,使工作?

  04-20 19:31:57.610: I/Adreno200-EGL(5708): <qeglDrvAPI_eglInitialize:299>: EGL 1.4 QUALCOMM build: 
      AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.107_msm8625_JB_REL_2.0.3_CL3357771_release_AU (CL3357771) 
      04-20 19:31:57.610: I/Adreno200-EGL(5708): Build Date: 02/25/13 Mon 
      04-20 19:31:57.610: I/Adreno200-EGL(5708): Local Branch: 
      04-20 19:31:57.610: I/Adreno200-EGL(5708): Remote Branch: quic/jb_rel_2.0.3 
      04-20 19:31:57.610: I/Adreno200-EGL(5708): Local Patches: NONE 
      04-20 19:31:57.610: I/Adreno200-EGL(5708): Reconstruct Branch AU_LINUX_ANDROID_JB_REL_2.0.3.04.01.02.21.107 + NOTHING 
      04-20 19:31:57.850: W/ResourceType(5708): getEntry failing because entryIndex 14 is beyond type entryCount 1 
      04-20 19:31:57.850: W/ResourceType(5708): Failure getting entry for 0x7f0b000e (t=10 e=14) in package 0 (error -2147483647) 
      04-20 19:32:09.390: E/dalvikvm(5708): GC_CONCURRENT freed 2965K, 22% free 12424K/15751K, paused 12ms+26ms, total 75ms 
      04-20 19:32:10.600: W/dalvikvm(5708): threadid=1: thread exiting with uncaught exception (group=0x41d02438) 

回答

0

它变成了o我试图用html代码格式化我的字符串。

例子:

我用的是:

<string name="title"> <b>App title</b> </string> 

当我应该使用:

<string name="title"> App title <string> 
0

您可以使用此代码为例:

MainActivity.java

package com.example.quiz; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.MenuItem; 

public class MainActivity extends Activity { 

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

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.activity_main_actions, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch(item.getItemId()) { 
      case R.id.go_home: 
       Intent intentHome = new Intent(this, HomeActivity.class); 
       startActivity(intentHome); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item); 
     } 
    } 

} 

/res/menu/activity_main_actions.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/go_home" 
     android:showAsAction="ifRoom" 
     android:title="@string/go_home" /> 

</menu> 
+0

谢谢,但它并没有与此代码擦出火花! – eeschimosu

+0

@Eduard你使用Eclipse吗?你能提供logcat输出吗? – janzoner

+0

是的,我使用Eclipse,我提供了我得到的logcat输出。 – eeschimosu