2013-02-08 3 views
0

누구든지 다음 logcat 불만에 대해 설명 할 수 있습니까?android runtimeException

02-08 20:40:04.383: E/AndroidRuntime(10227): FATAL EXCEPTION: main 
02-08 20:40:04.383: E/AndroidRuntime(10227): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.decko/com.example.decko.Game}: android.view.InflateException: Binary XML file line #27: Error inflating class android.widget.ImageButton 
02-08 20:40:04.383: E/AndroidRuntime(10227): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967) 
02-08 20:40:04.383: E/AndroidRuntime(10227): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992) 
02-08 20:40:04.383: E/AndroidRuntime(10227): at..` 

편집 : 다음은 Game 클래스의 Java 코드입니다.

package com.example.decko; 


import android.app.Activity; 
import android.os.Bundle; 
import android.view.Gravity; 
import android.view.View; 
import android.widget.GridLayout; 
import android.widget.HorizontalScrollView; 
import android.widget.ImageButton; 
import android.widget.ImageView; 
import android.widget.LinearLayout; 
import android.widget.LinearLayout.LayoutParams; 

public class Game extends Activity { 
GridLayout parentGrid; 
HorizontalScrollView parentLinear; 
LinearLayout innerLinearLayout; 

private deckWrapper deck; 

ImageButton deckButton; 
ImageView pilePosition; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_game); 

    //Fill up and shuffle cards 
    this.deck = new deckWrapper(); 
    //..Done 
    // Defining layout hierarchy 
    parentGrid = (GridLayout) findViewById(R.id.GridLayout1); 
    parentLinear = (HorizontalScrollView) findViewById(R.id.horizontalScrollView1); 
    innerLinearLayout = (LinearLayout) findViewById(R.id.innerLinearLayout); 
    //..Done 

    //Define Deck and Card positions 
    deckButton = (ImageButton) findViewById(R.id.deck); 
    pilePosition = (ImageView) findViewById(R.id.cardpile); 
    //..Done 

} 
public void deckButtonOnClick(View v) { 
    this.pickCard(); 

} 
protected void pickCard() { 
    ImageView imageView = new ImageView(getApplicationContext()); 
    imageView.setImageResource(deck.takeCard()); 
    imageView.setAdjustViewBounds(true); 

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
      LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
    params.setMargins(6, 0, 6, 0); 

    params.gravity = Gravity.TOP | Gravity.LEFT; 
    imageView.setLayoutParams(params); 
    imageView.setTag("1"); 
    imageView.setOnClickListener(new MyOnClickListener()); // TODO 
    innerLinearLayout.addView(imageView); 
} 

}

나는 지저분한 알고있다. 문제는 정기적 인 API 14 테마에서 Android.holo로 테마를 변경했을 때 발생했습니다. 또한 xml 파일의 각 버튼 clicklistener를 다음과 같이 정의했습니다.

<ImageButton 
     android:id="@+id/deck" 
     android:layout_column="0" 
     android:layout_gravity="center" 
     android:layout_marginBottom="50dp" 
     android:layout_marginRight="60dp" 
     android:layout_row="0" 
     android:onClick="deckButtonOnClick" 
     android:background="@style/AppBaseTheme" 
     android:src="@drawable/deck_1" /> 
+1

레이아웃 코드 (xml)를 추가하십시오. –

+0

일반적으로 XML 레이아웃 파일에 오류가 있음을 의미합니다. – iagreen

+0

ImageButton을 부풀리기 위해 노력하고있을 수도 있지만 실제로는 Button 또는 oposite입니다. – Magakahn

답변

0

나는 android : background 스타일을 지정할 수 있다고 생각하지 않습니다. 거기에 드로어 블을 기대합니다.

관련 문제