[英]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.