在操作栏搜索图标不会出现
问题描述:
我从以下PDF Docant书官方Android教程。出于某种原因,我的搜索图标不会显示出来。我包括来自holo_dark的ic_action_search.png照片,以及使用全暗光与黑暗动作栏主题的即时通讯。 下面是代码,没有被蚀发现错误回报,最小SDK是设置为11在操作栏搜索图标不会出现
DisplayMessageActivity.java文件
package com.example.myfirstapp1;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.TextView;
public class DisplayMessageActivity extends ActionBarActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
// Set the text view as the activity layout
setContentView(textView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:showAsAction="always" />
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
</menu>
答
,我认为你的错误是在你的onCreate method
,在这一行:
setContentView(textView);
您应该将内容视图设置为您的视图的XML,而不是一个TextView。
你的onCreate应该是这个样子:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(the_name_of_your_xml_for_this_activity);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
}
答
我认为你需要先定义它RES/valuse/drawables.xml
<item name="ic_action_search" type="drawable">@android:drawable/ic_menu_search</item>
检查照片,
如果你有一个.bng照片你必须通过另一种方式来将其导入以绘制不是使用
android:src="@drawable/ic_action_search"
感谢,但,当我把这个XML活动错误activity_display_message的我的名字不能被解析为一个变量出现 – brumbrum 2014-09-23 19:42:58
尝试setContentView(R.layout.activity_display_message) – 2014-09-23 19:45:24
我认为我们正在取得进展!谢谢!它将@ string/action_search后面的标题放入了溢出。我的操作栏中仍然没有ic_action_search图标。 – brumbrum 2014-09-23 20:00:25