2017-05-30 157 views
0

我是Android中的新成员。我在展示菜单时遇到了一些问题。我的屏幕右角没有看到三个点。请帮助我理解我的错误。万分感谢!Android未显示菜单

活动:

public class MainActivity extends AppCompatActivity { 

    private EditText numb1; 
    private EditText numb2; 
    private Button btn_sum; 
    private Button btn_extr; 
    private Button btn_mult; 
    private Button btn_div;  
    private TextView result;   

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     /*some code*/ 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.menu, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch(item.getItemId()) { 
      case R.id.reset: 
       numb1.setText(""); 
       numb2.setText(""); 
       break; 
      case R.id.exit: 
       fileList(); 
       break; 
     } 
     return super.onOptionsItemSelected(item); 
    } 
} 

XML:

<?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/reset" 
     android:title="@string/reset" 
     app:showAsAction="never"/> 
    <item android:id="@+id/exit" 
     android:title="@string/exit" 
     app:showAsAction="never"/> 
</menu> 
+0

可能重复的[Android操作栏不显示溢出](https://stackoverflow.com/questions/9739498/ android-action-bar-not-showing-overflow) – Pehlaj

+0

哪个设备用来运行你的apk? –

回答

0

Menu Items are not showing on Action Bar

检查这个答案

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/action_settings" 
     android:orderInCategory="100" 
     android:showAsAction="ifRoom|withText" 
     android:title="@string/action_option1"/> 
    <item 
     android:id="@+id/action_settings34" 
     android:orderInCategory="100" 
     android:showAsAction="ifRoom|withText" 
     android:title="@string/action_option2"/> 
    <item 
     android:id="@+id/action_settings3" 
     android:orderInCategory="100" 
     android:showAsAction="ifRoom|withText" 
     android:title="@string/action_option3"/> 

</menu> 
0

使用此代码在您的活动,但你应该有行为离子吧吧。

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
MenuInflater inflater = getMenuInflater(); 
inflater.inflate(R.menu.your_menu, menu); 
return true; 
} 
0

如果你运行你的三星或其他的三个点的最老版本应用上的动作条

没有出现

所以尝试点击选项键移动

解决出现3 DOTS

  • 调用此方法在应用程序类的onCreate方法

    private void makeActionOverflowMenuShown() { 
    //devices with hardware menu button (e.g. Samsung Note) don't show action overflow menu 
    try { 
        ViewConfiguration config = ViewConfiguration.get(this); 
        Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey"); 
        if (menuKeyField != null) { 
         menuKeyField.setAccessible(true); 
         menuKeyField.setBoolean(config, false); 
        } 
    } catch (Exception e) { 
        Log.d(TAG, e.getLocalizedMessage()); 
    } 
    } 
    
0

我也是新到Android我猜了你编写onCreateOptionsMenu(菜单菜单)内上创建 试试这个

public class MainActivity extends AppCompatActivity { 

private EditText numb1; 
private EditText numb2; 
private Button btn_sum; 
private Button btn_extr; 
private Button btn_mult; 
private Button btn_div; 
private TextView result; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
/*some code*/ 


} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.reset: 
      numb1.setText(""); 
      numb2.setText(""); 
      break; 
     case R.id.exit: 
      fileList(); 
      break; 
    } 
    return super.onOptionsItemSelected(item); 
} 

}

0

你已经做了小的失误,而创建选项菜单。您应该在onCreate(Bundle savedInstanceState)方法外调用onCreateOptionsMenu()和onOptionsItemSelected()方法。您可以检查下面的例子:

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.menu, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch(item.getItemId()) { 
      case R.id.reset: 
       break; 
      case R.id.exit: 
       fileList(); 
       break; 
     } 
     return super.onOptionsItemSelected(item); 
    } } 
0

帮助我理解我的错误 - 当然

的罪魁祸首是在你的菜单中的XML文件应用:showAsAction =“从不”这一行将此行替换为app:showAsAction =“ifRoom”

此处showAsAction设置为永不表示您告诉不要在操作栏中显示我的菜单如果您更换wi “ifRoom”意味着你说在操作栏中显示我的所有菜单,并且如果有我的所有菜单的空间