2015-11-05 32 views
2

我正在項目和要求是用戶界面是相同的所有Android設備。爲了實現這個要求,我GOOGLE了,我得到的解決方案使用新的AppCompact庫在同一個UI在所有的Android版本。錯誤膨脹類AppCompatButton

所以問題是,有一個在我的佈局一個按鈕,我用AppCompatButton,而不是按鈕

即使我對該佈局的活動擴展了AppCompatActivity。 但是當我運行該項目時,我得到下面的錯誤和應用程序崩潰。

這裏是我的活動和佈局

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(); 
     } 
    }); 
    } 
} 

佈局代碼:

<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> 

錯誤:

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 

回答

3

你需要:

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

並且在你的build.gradle中:

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

噢,非常感謝。

相關問題