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