簡體   English   中英

工具欄中的圖標不會出現

[英]Icon In ToolBar does not appear

我剛剛創建並包含工具欄的活動,我在右邊的工具欄中放了一個勾號圖標,但是當我運行應用程序時,勾選圖標沒有出現在工具欄中這是我的班級

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);
    }


}

這是菜單

<?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>

這是XML文件

<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>

對不起,如果事情不清楚,如果有人知道如何解決這個案件,請回答我抱歉我的英語不好

onCreate()添加它,初始化工具欄

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

你永遠不會設置問題的工具欄嘗試這個方法並從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
                    }
                }

        );
    }

1.嘗試從AppCompatActivity而不是Activity擴展AddMembersActivity

public class AddMembersActivity extends AppCompatActivity {

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

2.onCreate()方法中,使用方法setSupportActionBar()初始化Toolbar窗口小部件並將其用作ActionBar

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);
    }

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

僅供參考 ,您必須在build.gradle添加以下依賴build.gradle才能使用AppCompatActivity

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

希望這會有所幫助〜

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM