2016-12-15 54 views
-3

在我的應用程序,我想補充一些ImageViewplay2_one and play2_two),並點擊該ImageView後導航到另一個Activity。它通常在NEXUS S(API 25)但不在注3,NEXUS 5(API 24)。當我的ImageView單擊應用程序停止

可能是什麼問題?請指導:

這是我的logcat:

android.view.InflateException:二進制XML文件行#71:錯誤充氣類 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2519) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2578) at android.app.ActivityThread.access $ 900(ActivityThread.java:170) at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1317 ) at android.os.Handler.dispatc hMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5727) at java.lang.reflect.Method。 invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1291) at com.android .internal.os.ZygoteInit.main(ZygoteInit.java:1107) at dalvik.system.NativeStart.main(Native Method) 引起:android.view.InflateException:二進制XML文件行#71:錯誤膨脹類 at android.view.LayoutInflater.createView(LayoutInflater.java:626) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) at android.view.LayoutInflater.onCreateView(LayoutInflater.java :675) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:700) at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) at android.view.LayoutInflater.rInflate(LayoutInflater.java:769 ) at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) at android.view.LayoutInflater.inflate(LayoutInflater.java:498) at和在android.view.LayoutInflater.inflate(LayoutInflater.java:354) 處com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java: 352) 在android.app.Activity.setContentView(Activity.java:2058) 在com.example.compassapp.MainActivity.onCreate(MainActivity.java:32) 在android.app.Activity.performCreate(Activity.java: 5581) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2483) at android.app.ActivityTh read.handleLaunchActivity(ActivityThread.java:2578) at android.app.ActivityThread.access $ 900(ActivityThread.java:170) at android.app.ActivityThread $ H.handleMessage(ActivityThread。Java的:1317)

,這是我的XML代碼:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="@drawable/bitmap"> 

    <LinearLayout 
     android:layout_margin="15dp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:weightSum="3"> 

     <ImageView 
      android:id="@+id/play1_one" 
      android:clickable="true" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:layout_marginBottom="10dp" 
      android:layout_weight="1" 
      android:src="@drawable/four" /> 

     <TextView 
      android:id="@+id/txt1" 
      android:textSize="25sp" 
      android:gravity="center" 
      android:textColor="#ffffff" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:layout_marginBottom="10dp" 
      android:layout_weight="1" 
      /> 

     <ImageView 
      android:id="@+id/play1_two" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:layout_gravity="bottom" 
      android:layout_marginBottom="10dp" 
      android:layout_weight="1" 
      android:src="@drawable/three" /> 
    </LinearLayout> 

    <FrameLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <FrameLayout 
      android:id="@+id/qiblaFrameLayout" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:layout_marginBottom="15dp" 
      android:layout_marginTop="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginLeft="15dp"> 

      <ImageView 
       android:id="@+id/frameImage" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:src="@drawable/amer" /> 

      <ImageView 
       android:id="@+id/compassImage" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:src="@drawable/nnn" /> 

     </FrameLayout> 
    </FrameLayout> 


</LinearLayout> 

這Mainactivity:

public class MainActivity extends Activity implements SensorEventListener { 

    // define the display assembly compass picture 
    private ImageView image1; 

    // record the compass picture angle turned 
    private float currentDegree = 0f; 

    // device sensor manager 
    private SensorManager mSensorManager; 

    private TextView tvHeading1; 

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

     // our compass image 
     image1 = (ImageView) findViewById(R.id.compassImage); 

     // TextView that will tell the user what degree is he heading 
     tvHeading1 = (TextView) findViewById(R.id.txt3); 
     // initialize your android device sensor capabilities 
     mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); 

     ImageView imageView1 = (ImageView) findViewById(R.id.play1_one); 
     imageView1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Intent intent1 = new Intent(MainActivity.this, CompassThree.class); 
       startActivity(intent1); 
      } 
     }); 
     ImageView imageView2 = (ImageView) findViewById(R.id.play1_two); 
     imageView2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Intent intent1 = new Intent(MainActivity.this, Compasstwo.class); 
       startActivity(intent1); 
      } 
     }); 

     imageView1.setClickable(true); 
     imageView2.setClickable(true); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 

     // for the system's orientation sensor registered listeners 
     mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), 
       SensorManager.SENSOR_DELAY_GAME); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 

     // to stop the listener and save battery 
     mSensorManager.unregisterListener(this); 
    } 

    @Override 
    public void onSensorChanged(SensorEvent event) { 


    } 

    @Override 
    public void onAccuracyChanged(Sensor sensor, int accuracy) { 
     // not in use 
    } 


} 
+0

你得到什麼樣的錯誤可以共享logcat –

+0

可能的重複[可惜MyApp已經停止。我怎樣才能解決這個問題?](http://stackoverflow.com/questions/23353173/uncomfort-myapp-has-stopped-how-can-i-solve-this) – Selvin

+0

請發佈您的日誌文件和相應的類文件。 – Champandorid

回答

0

正如你已經在你的佈局添加這麼多的繪製,有可能是一個問題在很多設備上都有內存,正如您所說的那樣,它在NEXUS S(API 25)中正常工作,但不在注3,NEXUS 5(API 24)

如果Id或其他問題存在問題,那麼它將無法在任何設備上工作,所以很可能它可能是內存問題。

您可以增加內存堆大小,請參閱this answer

此外,請參閱this answer那裏也描述了類似的問題。

+1

正如你所說,我認爲這就是問題所在,因爲當我嘗試刪除framelayout臨時工作應用程序正常....謝謝大家的幫助 – DesignMan

+0

這就是我們在stackOverflow上做的.. @DesignMan – TapanHP

+1

謝謝@TapanHP,真的很喜歡這個組。 – DesignMan

相關問題