ANDROID: Impossible de résoudre méthode getSupportActionBar()
Cette chose est me rend fou. Je n'arrive pas à obtenir mon application pour compiler correctement. J'ai ajouté le support des bibliothèques dans mon application en copiant les fichiers jar, en les déposant dans le dossier libs, clic droit et ajouter de la bibliothèque.
J'ai essayé l'extension de ActionBaractivity et rien toujours pas à obtenir que la méthode reconnue.
Je suis en utilisant Android studio version 0.8.2.
Classe
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);
}
}
MANIFESTE
<?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>
construire.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.+'
}
Avez-vous téléchargé les pots du SDK manager ?
mainActivity est une classe Java et en tant que tel, il doit commencer par un capitole M
mainActivity est une classe Java et en tant que tel, il doit commencer par un capitole M
OriginalL'auteur Thomas Riddler | 2014-08-02
Vous devez vous connecter pour publier un commentaire.
vous avez besoin de changer d'Activité pour ActionBarActivity
public class mainActivity extends ActionBarActivity
ActionBarActivity a été déprécié, veuillez utiliser le suivant
public class mainActivity extends AppCompatActivity
Peut-être essayer de nettoyer après l'extension et voir si cela résout-il?
OriginalL'auteur Giancarlo
Votre activité a besoin pour étendre ActionBarActivity (qui fournit getSupportActionBar).
OriginalL'auteur C James
Supprimer la bibliothèque de prise en charge des pots à partir du répertoire libs comme vous l'avez déjà défini la bibliothèque de prise en charge dans votre gradle fichier.
La bibliothèque de prise en charge a été mis à jour donc je voudrais le mettre à jour votre gradle dépendances: compiler 'com.android.soutien:le soutien-v4:19.1.+'
Android Studio va déjà vous informer, mais assurez-vous que vous effectuez une synchronisation avec gradle.
OriginalL'auteur michaelcarrano
C'est simple, il suffit de prolonger AppCompatActivity au lieu de l'Activité.
Veuillez Noter que vous avez besoin de changer de thème pour éviter
Exception :
Vous avez besoin d'utiliser un Thème.AppCompat thème (ou descendant) avec cette activité
tout en utilisant AppCompatActivity
OriginalL'auteur Nilesh Panchal
Cela va résoudre le problème:
OriginalL'auteur ehab mousa