java - Android Activity 仅在主 Activity 中显示并且未正确显示

标签 java android mobile

操作栏未显示在主 Activity 中,而另一个 Activity 中存在相同的代码,并且另一个 Activity 操作栏溢出未按右上角的列表显示

  1. 图像 1:按下菜单键的主要 Activity

enter image description here

  • 图像 2:显示消息 Activity
  • enter image description here

    主要 Activity 代码:

    public class MainActivity extends ActionBarActivity {
    EditText t;
    public final static String sendMessageextra="com.example.example2.textmessage";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        t=(EditText) findViewById(R.id.textmessage);
    }
    
    
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    
        getMenuInflater().inflate(R.menu.activity_main_actions, menu);
        return super.onCreateOptionsMenu(menu);
    }
    
    public void sendMessage(View v){
        Intent sendmessageintent=new Intent(this,showMessage.class);
        String messagestring=t.getText().toString();
        sendmessageintent.putExtra(sendMessageextra, messagestring);
        startActivity(sendmessageintent);
    }
    

    }

    显示消息 Activity :

    public class showMessage extends Activity{
    TextView t;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sendmessage);
        t=(TextView) findViewById(R.id.showmessage);
        showmessage();
    }
    
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        MenuInflater inflater=getMenuInflater();
        inflater.inflate(R.menu.activity_main_actions, menu);
        return true;
    }
    
    
    public void showmessage(){
        Intent intent=getIntent();
        String message=intent.getStringExtra(MainActivity.sendMessageextra);
        t.setText(message);
        Log.i("Set New Text Box", "Text BOx");
    }
    

    }

    Activity 主要actions.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- Search Widget -->
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          android:showAsAction="ifRoom"
          android:actionViewClass="android.widget.SearchView"/>
    
    <!-- Location Found -->
    <item android:id="@+id/action_location_found"
          android:icon="@drawable/ic_action_location_found"
          android:title="@string/action_location_found"
          android:showAsAction="never" />
    <!-- Help -->
    <item android:id="@+id/action_help"
          android:icon="@drawable/ic_action_help"
          android:title="@string/action_help" 
          android:showAsAction="never"/>
    </menu>
    

    android 菜单文件: Activity list 文件:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.example2"
        android:versionCode="1"
        android:versionName="1.0" >
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="19" />
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme">
            <activity
                android:name=".MainActivity"
                android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
            </activity>
            <activity
                android:name="com.example.example2.showMessage"
                android:label="Show Message" android:parentActivityName="com.example.example2.MainActivity"/>
        </application>
    </manifest>
    

    最佳答案

    如果您想在每个 Activity 的操作栏右侧显示搜索图标,则只需在 actions.xml 中进行更改,而不是将 android:showAsAction="ifRoom"更改为 android:showAsAction="always"

    关于java - Android Activity 仅在主 Activity 中显示并且未正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25781789/

    相关文章:

    java - Servlet 3.0 API - 注册一个 servlet

    java - 调用 Class.forName() 两次

    java - 创建 Xmpp 连接并传递实例而无需重新创建的最佳方法

    Java 广义线性模型库

    java - 如何实现轮询循环链表并统计元素的访问请求?

    android - 是否可以使 Android HCE 向后兼容(适用于 4.4/KitKat 以下的版本)?

    Android viewflipper 和画廊

    ios - ActionScript 3 中 iPhone 的垂直滚动

    java - LWUIT 组合框 : Class as the Items

    html - display:none 不影响导航栏