2015-11-05 1 views
2

Je fais le projet et l'exigence est l'interface utilisateur est la même pour tous les appareils android.Pour répondre à cette exigence j'ai googlé et j'ai eu la solution d'utiliser AppCompact Library pour la même interface Android dans toute la version Android.Erreur gonflement de la classe AppCompatButton

donc question est pour, Il y a un bouton dans ma mise en page et je l'utilise AppCompatButton au lieu de Bouton.

Même mon activité pour cette mise en page étend AppCompatActivity. Mais quand je lance ce projet, je reçois une erreur et l'application se bloque.

Voici mon code pour l'activité et la mise en page

public class MainActivity extends AppCompatActivity { 

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

    AppCompatButton appCompatButton = (AppCompatButton) findViewById(R.id.btn_submit); 
    appCompatButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Toast.makeText(getApplicationContext(), "Success", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
    } 
} 

Mise en page:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     tools:context="com.app.myway.MainActivity"> 

    <EditText 
     android:id="@+id/et_email" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="100dp" 
     android:hint="@string/add_email" 
     android:paddingLeft="16dp" 
     android:paddingRight="16dp" /> 

    <AppCompatButton 
     android:id="@+id/btn_submit" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/submit" /> 
</RelativeLayout> 

Erreur:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.app.myway/com.app.myway.MainActivity}: android.view.InflateException: Binary XML file line #17: Error inflating class AppCompatButton 

Répondre

3

dont vous avez besoin:

<android.support.v7.widget.AppCompatButton 
    android:id="@+id/btn_submit" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/submit" /> 

et dans votre build.gradle:

dependencies{ 
    compile 'com.android.support:appcompat-v7:23.1.0' 
} 
+0

Oh merci beaucoup.