问题描述
这件事让我疯了。我似乎无法让我的应用程序正确编译。我已经在我的应用程序中添加了支持库,方法是复制jar文件,将它们放到libs文件夹中,右键单击并将它们添加为库。
This thing is driving me nuts. I can't seem to get my app to compile correctly. I have added the support libraries in my app by copying the jar files, dropping them into libs folder, right click and adding them as library.
我试过扩展ActionBaractivity和什么都没有得到认可的方法。
I have tried extending ActionBaractivity and nothing still not getting that method recognized.
我使用的是Android工作室版本0.8.2。
I am using Android studio version 0.8.2.
Class
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.view.Menu;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class mainActivity extends Activity implements AdapterView.OnItemClickListener {
private DrawerLayout drawerLayout;
private ListView listView;
private String[] navMenuArray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
navMenuArray = getResources().getStringArray(R.array.navmenu);
listView =(ListView) findViewById(R.id.drawerList);
listView.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_expandable_list_item_1, navMenuArray));
listView.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//handles what happens when an item in the menu is clicked
Toast.makeText(this,navMenuArray[position]+" was selected", Toast.LENGTH_SHORT).show();
selectItem(position);
}
public void selectItem(int position){
listView.setItemChecked(position, true);
setTitle(navMenuArray[position]);
}
public void setTitle(String title){
getSupportActionbar().setTitle(title);
}
}
MANIFEST
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myapp" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat" >
<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>
</application>
</manifest>
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion '20.0.0'
defaultConfig {
applicationId "com.myapp"
minSdkVersion 14
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
compileOptions{
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:18.0.+'
compile 'com.android.support:appcompat-v7:18.0.+'
}
推荐答案
您需要将Activity更改为ActionBarActivity
you need to change Activity to ActionBarActivity
public class mainActivity extends ActionBarActivity
ActionBarActivity已被弃用,因此请使用以下内容
ActionBarActivity has been deprecated so please use the following
公共类mainActivity扩展AppCompatActivity
这篇关于ANDROID:无法解析方法getSupportActionBar()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!