2016-12-04 34 views
0

我已经创建了一个应该打开我的活动列表(而不是空项目)的项目,但是当我想打开其中一个已经显示它的活动正在发挥作用。它不打开指定的活动,而是打开主要活动等等,我怎样才能将它们联系起来? 。谢谢。如何将活动链接到菜单并访问它们

public boolean onOptionsItemSelected(MenuItem item) { 
    int id = item.getItemId(); 

    if (id == R.id.nav_calendar) { 
     Intent i=new Intent(this, Calendar.class); 
     startActivity(i); 
    } 
    if (id == R.id.nav_info) { 
     Intent i=new Intent(this, CarInfo.class); 
     startActivity(i); 
    } 

    if (id == R.id.nav_expenses) { 
     Intent i=new Intent(this, Expenses.class); 
     startActivity(i); 
    } 
    if (id == R.id.nav_map) { 
     Intent i=new Intent(this, Map.class); 
     startActivity(i); 
    } 
    if (id == R.id.nav_service) { 
     Intent i=new Intent(this, Service.class); 
     startActivity(i); 
    } 

    return super.onOptionsItemSelected(item); 
} 

这就是我的每一个链接我的活动菜单。 我想这也仍然没有做什么,我想: 我想他们像链接:

public void CarInfo(View view){ 
Intent intent=new Intent(MainActivity.this, CarInfo.class); 
startActivity(intent); 

}

我想这可能是清单中的问题:

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".Calendar"></activity> 
    <activity android:name=".CarInfo"></activity> 
    <activity android:name=".Expenses"></activity> 
    <activity android:name=".History"></activity> 
    <activity android:name=".Map"></activity> 
    <activity android:name=".Service"></activity> 
</application> 

如果我只链接1项活动的作品,但我怎样才能链接它们呢?

+0

预期的'Activity'应该只是开始精细。此外,这段代码似乎是正确的。请分享您的应用和/或错误/调试日志中的任何其他相关代码。 –

+0

我认为问题可能在这里,在清单中: – CobianuA

回答

0

当您使用该事件时,您应该在onOptionsItemSelected()中返回true,并在未处理时保留super.onOptionsItemSelected(item);

0

在XML

<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/bookmark_menu" android:title="@string/bookmark" android:showAsAction="ifRoom"/> </menu>

覆盖onCreateOptionsMenu创建菜单项,并使用getMenuInflater()。充气

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

覆盖onOptionsItemSelected(菜单项的项目)来处理点击事件

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.bookmark_menu: Toast.makeText(this, "You have selected Bookmark Menu", Toast.LENGTH_SHORT).show(); return true; } }

+1

非常感谢你 – CobianuA

0

,这是为我工作...希望它会工作的ü

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 

    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     Intent intent = new Intent(this, Wishlist.class); 
     startActivity(intent); 
    } else if (id == R.id.action_settings1) { 
     Intent intent = new Intent(this, AboutUs.class); 
     startActivity(intent); 
    } else if (id == R.id.action_settings2) { 
     Intent intent = new Intent(this, Contact_Us.class); 
     startActivity(intent); 
    } else if (id == R.id.action_cart) { 
     Intent intent = new Intent(this, Cart.class); 
     startActivity(intent); 
    } else if (id == R.id.action_search) { 
     Intent intent = new Intent(this, ActivitySearch.class); 
     startActivity(intent); 
    } 

    return super.onOptionsItemSelected(item); 

} 

需要使用其他,如果

+0

是的,非常感谢! – CobianuA

+0

@CobianuA请让它有用的答案..如果你工作.. –

相关问题