2017-05-09 6 views
1

Ich habe gerade erstellt und Aktivität, die Symbolleiste enthält und ich in dieser Symbolleiste ein Häkchen-Symbol auf der rechten Seite, aber wenn ich die App das Häkchen-Symbol nicht in der Symbolleiste angezeigt, das ist meine KlasseIcon In ToolBar erscheint nicht

package mediaclub.app.paymob; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 
import android.widget.ImageView; 
import android.widget.ListView; 

import java.util.ArrayList; 

import mediaclub.app.paymob.Adapters.ContactsAdapter; 

public class AddMembersActivity extends Activity { 
    ArrayList<Contact> listContacts; 
    ListView lvContacts; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_add_members); 
     listContacts = new ContactFetcher(this).fetchAll(); 
     lvContacts = (ListView) findViewById(R.id.lvContacts); 
     ImageView checkContacts = (ImageView) findViewById(R.id.checkedId); 
     ContactsAdapter adapterContacts = new ContactsAdapter(this, listContacts); 
     lvContacts.setAdapter(adapterContacts); 
    } 

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

    @Override 
    public boolean onOptionsItemSelected(android.view.MenuItem item) { 
     switch (item.getItemId()) { 
      case R.id.checkedId: 
       Intent i = new Intent(AddMembersActivity.this, AddMembersActivity.class); 
       startActivity(i); 
       return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 


} 

und das ist Menü

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 

    <item android:id="@+id/checkedId" 
     android:icon="@drawable/checked" 
     android:title="@string/check" 
     app:showAsAction="always"/> 

</menu> 

dies XML Datei

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    xmlns:fab="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" 
    android:background="#ffffff" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    tools:context="mediaclub.app.paymob.AddMembersActivity"> 
    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:backgroundTint="#3cb5a4" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="?attr/colorPrimary" 
     android:minHeight="?attr/actionBarSize" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="91" 
     android:orientation="horizontal" 
     android:weightSum="100" > 
     <ListView 
      android:id="@+id/lvContacts" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" > 
     </ListView> 
    </LinearLayout> 
</LinearLayout> 

Sorry, wenn in Sache ist nicht klar, ob jemand weiß, wie dieser Fall zu lösen, bitte antworten Sie mir nur leid für mein schlechtes Englisch

+0

Ihre xml Post als auch –

+0

@Quick Lernenden überprüfen Sie bitte, ich meine Antwort bearbeitet – DevDev

Antwort

0

Fügen Sie diese in onCreate(), initialisieren Sie die Symbolleiste

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
0

Sie nie die Symbolleiste setzen, dass das ist Problem versuchen, diese Methode und nennen dies aus onCreate

public void showToolBar() { 
     toolbar = (Toolbar) findViewById(R.id.toolbar); 
     toolbar.setTitle("title for toolbar"); 

     setSupportActionBar(toolbar); 

     //toolbar.setNavigationIcon(R.drawable.ic_toolbar_arrow); 
     toolbar.setNavigationOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         //handling the onclick 
        } 
       } 

     ); 
    } 
0

1. versuchenVerlängerungvon AppCompatActivity anstelle von Activity.

public class AddMembersActivity extends AppCompatActivity { 

    ............. 
    .................. 
} 

2. In onCreate() Methode initialisieren Ihre Toolbar Widget und verwenden Sie es als ActionBar durch Verfahren unter Verwendung von setSupportActionBar().

public class AddMembersActivity extends AppCompatActivity { 
    ArrayList<Contact> listContacts; 
    ListView lvContacts; 

    Toolbar mToolBar; 

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

     mToolBar = (Toolbar) findViewById(R.id.toolbar); 
     if(mToolBar != null) { 
      setSupportActionBar(mToolBar); 
      getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     } 

     listContacts = new ContactFetcher(this).fetchAll(); 
     lvContacts = (ListView) findViewById(R.id.lvContacts); 
     ImageView checkContacts = (ImageView) findViewById(R.id.checkedId); 
     ContactsAdapter adapterContacts = new ContactsAdapter(this, listContacts); 
     lvContacts.setAdapter(adapterContacts); 
    } 

    ................. 
    ............................ 
} 

FYI, Sie haben unter Abhängigkeiten in Ihrem build.gradle hinzuzufügen AppCompatActivity zu verwenden.

dependencies { 
    .......... 
    .............. 
    compile 'com.android.support:appcompat-v7:25.1.0' 
} 

Hope this helfen ~