我是Android开发的新手。我正在学习教程https://www.youtube.com/watch?v=5sEeprYnHa8,并希望使用AppCompatActivity而不是旧的Activity。我想膨胀菜单,虽然我不知道为什么菜单不会自动出现在res文件夹中。它无法解析符号menu_main.xml在这种情况下我到底应该做什么?到底是怎么回事?感谢。
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);
}
}
答案 0 :(得分:0)
菜单直接不会出现,因为现在Android Studio没有创建菜单。在视频中,请参阅01:32秒指定菜单资源的规定。 https://youtu.be/5sEeprYnHa8?t=92。此选项目前不在新工作室中。
对于您无法解析符号menu_main.xml"的问题,我希望您的项目中已存在menu_main.xml文件。
如果文件menu_main.xml已存在。
在你的java代码
中@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
如果文件menu_main.xml不存在。
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/about" android:title="About" />
<item android:id="@+id/help" android:title="Help" />
</menu>
在你的java代码
中@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}