Javascript 将活动转换为AppCompatActivity时,为什么没有menu.main,以及如何替换它?
我对安卓开发非常陌生。我正在学习一个教程,希望使用AppCompatActivity而不是旧的活动来完成它。我想膨胀菜单,虽然我不知道为什么菜单不自动在res文件夹中。它无法解析symbol menu_main.xml。在这种情况下,我应该做什么?发生了什么事?谢谢Javascript 将活动转换为AppCompatActivity时,为什么没有menu.main,以及如何替换它?,javascript,android-activity,android-menu,appcompatactivity,Javascript,Android Activity,Android Menu,Appcompatactivity,我对安卓开发非常陌生。我正在学习一个教程,希望使用AppCompatActivity而不是旧的活动来完成它。我想膨胀菜单,虽然我不知道为什么菜单不自动在res文件夹中。它无法解析symbol menu_main.xml。在这种情况下,我应该做什么?发生了什么事?谢谢 package com.example.android.cameraattempt; import android.app.Activity; import android.content.Intent; import andro
package com.example.android.cameraattempt;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.VideoView;
public class MainActivity extends AppCompatActivity {
private Button mRecordView, mPlayView;
private VideoView mVideoView;
private int ACTIVITY_START_CAMERA_APP = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecordView = (Button)findViewById(R.id.PlayButton);
mPlayView = (Button)findViewById(R.id.RecordButton);
mVideoView = (VideoView)findViewById(R.id.videoView2);
mRecordView.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent callAppVideoIntent = new Intent();
callAppVideoIntent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(callAppVideoIntent, ACTIVITY_START_CAMERA_APP );
}
});
mPlayView.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
mVideoView.start();
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == ACTIVITY_START_CAMERA_APP && resultCode == RESULT_OK){
Uri videoURI = data.getData();
mVideoView.setVideoURI(videoURI);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
int id = item.getItemId();
int action_settings = 0;
if(id == action_settings){
return true;
}
return super.onOptionsItemSelected(item);
}
}
- 如果文件菜单_main.xml已存在
- 在“res”下创建一个名为“menu”的文件夹
- 将“menu_main.xml”放在创建的“menu”文件夹中
- 在java代码中
@Override public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.menu_main, menu); return true; }
@Override public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.menu_main, menu); return true; }
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
谢谢我现在觉得奇怪的是,action_设置在这里是一个项目[link](),但在我的代码中,它不会自动出现在列表中,并且无法解析。此外,当我使用这段代码时,应用程序没有绑定。“我正在使用Android Studio 2.3.3,更新Nouget,速度不如标题“quick Fix”,所以我必须等待实验。在menu_main.xml中,alt enter解决了应用程序的问题,但操作设置无法解决。在MainActivity.java中,所有出现的R都不是未解决的。我发现在menu_main.xml@string/action_设置可以替换为“settings”,这将删除错误,R将再次工作。如果在res/values文件中创建设置,并在menu_main.xml中设置@string/action_,则可以使用不同外语的字符串文件。我从我的新书《面向傻瓜的Android应用程序开发:一体机》中得到了这一点。英雄联盟