Behöver hjälp med action bar

Diskussion i 'Frågor, support och diskussion' startad av agneos, 16 september 2013.

  1. agneos

    agneos Youth Droid Medlem

    Blev medlem:
    22 juni 2010
    Inlägg:
    219
    Mottagna gillanden:
    0

    MINA ENHETER

    tja

    jag har ett litet problem med Action bar, tanken är att när jag trycker på Action bar knappen så går jag till en annan Activity, det funkar med en vanligt knapp men med action bar funkar ej.



    Kod:
    package com.example.sisi;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    
    public class MainActivity extends Activity {
    
    	 
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_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.main, menu);
    	 
    	    return super.onCreateOptionsMenu(menu);
    	}
    	
    	public boolean onOptionItemSelected(MenuItem item){
    		super.onOptionsItemSelected(item);
    		switch (item.getItemId()){
    		
    		case R.id.menuu:
    			menuu();
    		}
    
    		return true;
    	}
    	
    	public void menuu(){
                 Intent intent = new Intent(this, DisplayMessageActivity.class);
                   startActivity(intent);
    
    
    }
    	
    	
    	
    		
    	
    		
    	}
    
    xml file


    HTML:
    <menu xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <item
            android:id="@+id/action_settings"
            android:orderInCategory="100"
            android:showAsAction="never"
            android:title="@string/action_settings"/>
        
        <item android:id="@+id/menuu"
              android:title="@string/menuu"
              android:showAsAction="ifRoom"
               />
    
    </menu>
     
    Last edited: 16 september 2013
  2. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 oktober 2009
    Inlägg:
    2.349
    Mottagna gillanden:
    835
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
    Ändra metoden onOptionItemSelected till:
    Kod:
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
     
    agneos gillar detta.
  3. agneos

    agneos Youth Droid Medlem

    Blev medlem:
    22 juni 2010
    Inlägg:
    219
    Mottagna gillanden:
    0

    MINA ENHETER

    Men jag har redan en sån metod :(.
     
  4. evening.beam

    evening.beam Teen Droid Medlem

    Blev medlem:
    20 juni 2012
    Inlägg:
    259
    Mottagna gillanden:
    61

    MINA ENHETER

    e7andy gillar detta.
  5. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 oktober 2009
    Inlägg:
    2.349
    Mottagna gillanden:
    835
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
  6. agneos

    agneos Youth Droid Medlem

    Blev medlem:
    22 juni 2010
    Inlägg:
    219
    Mottagna gillanden:
    0

    MINA ENHETER

    Hej igen, jag är jätte tacksam för hjälpen men fick ett litet problem till att när jag trycker på home knappen går jag inte tillbacka till MainActivity, jag har MainActivity som parent och jag ser ingen fel med min kod. :D

    MVH Milad



    HTML:
    <activity
                android:name="com.example.sisi.Sisimenuu"
                android:label="@string/title_activity_sisimenuu"
                android:parentActivityName="com.exemple.sisi.MainActivity" >
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.exemple.sisi.MainActivity" />
            </activity>	
    Kod:
           package com.example.sisi;
    
    import android.app.Activity;
    import android.app.TaskStackBuilder;
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.v4.app.NavUtils;
    import android.view.Menu;
    import android.view.MenuItem;
    
    public class Sisimenuu extends Activity {
    
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_sisimenuu);
    		// Show the Up button in the action bar.
    		getActionBar().setDisplayHomeAsUpEnabled(true);
    	}
    
    	/**
    	 * Set up the {@link android.app.ActionBar}.
    	 */
    	
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		// Inflate the menu; this adds items to the action bar if it is present.
    		getMenuInflater().inflate(R.menu.sisimenuu, menu);
    		return true;
    	}
    
    	
    	@Override
    	public boolean onOptionsItemSelected(MenuItem item) {
    	    switch (item.getItemId()) {
    	    // Respond to the action bar's Up/Home button
    	    case android.R.id.home:
    	    	 NavUtils.navigateUpFromSameTask(this);
    	    	 return true;
    	    }
    	    return super.onOptionsItemSelected(item);
    	}
    	
    	
    
    }
    
    
    
     
  7. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 oktober 2009
    Inlägg:
    2.349
    Mottagna gillanden:
    835
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
    Jag har inte testat den funktionen (jag visste inte ens att den fanns :)) utan har löst det lite enklare:
    Kod:
    	@Override
    	public boolean onOptionsItemSelected(MenuItem item) {
    		int itemId = item.getItemId();
    		if (itemId == android.R.id.home) {
    			super.onBackPressed();
    			return true;
    		}
    		return super.onOptionsItemSelected(item);
    	}
    Jag har hittat 2 olika referenser till hur man implementerar "up navigation":
    1. http://developer.android.com/guide/topics/ui/actionbar.html#Home
    2. http://developer.android.com/training/implementing-navigation/ancestral.html

    Implementationen i referens 2 känns som den du bör byta till.
     
  8. agneos

    agneos Youth Droid Medlem

    Blev medlem:
    22 juni 2010
    Inlägg:
    219
    Mottagna gillanden:
    0

    MINA ENHETER

    ja men det är Implementationen i referens 2 som jag har men fortfarande det funkar ej:(
    2. http://developer.android.com/training/implementing-navigation/ancestral.html
     
  9. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 oktober 2009
    Inlägg:
    2.349
    Mottagna gillanden:
    835
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast