2017-11-06 5 views
-1

Androidが新機能です。実際のデバイスで動作しているときに私のアプリケーションが終了していますが、私のシミュレータで正常に動作しています。これは私がデバッガを使っているエラーコードです。私はpageViewerの助けを借りてイメージスライダーを追加しようとしています。スライダーを追加する前に、アプリケーションがうまくいきました。デバイスで動作しているときにアプリが終了しますが、エミュレータでは機能します

E/AndroidRuntime: FATAL EXCEPTION: main 
       Process: com.example.windows81.travelspoc, PID: 17409 
       android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class ImageView 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:545) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
        at com.example.windows81.travelspoc.ViewPagerAdapter.instantiateItem(ViewPagerAdapter.java:39) 
        at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1002) 
        at android.support.v4.view.ViewPager.populate(ViewPager.java:1150) 
        at android.support.v4.view.ViewPager.populate(ViewPager.java:1084) 
        at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1614) 
        at android.view.View.measure(View.java:19141) 
        at android.support.constraint.ConstraintLayout.internalMeasureChildren(ConstraintLayout.java:934) 
        at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java:973) 
        at android.view.View.measure(View.java:19141) 
        at android.support.v4.widget.NestedScrollView.measureChildWithMargins(NestedScrollView.java:1446) 
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:223) 
        at android.support.v4.widget.NestedScrollView.onMeasure(NestedScrollView.java:512) 
        at android.view.View.measure(View.java:19141) 
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6245) 
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:223) 
        at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139) 
        at android.view.View.measure(View.java:19141) 
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6245) 
        at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:400) 
        at android.view.View.measure(View.java:19141) 
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6245) 
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:223) 
        at android.view.View.measure(View.java:19141) 
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6245) 
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723) 
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:788) 
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:648) 
        at android.view.View.measure(View.java:19141) 
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6245) 
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:223) 
        at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2790) 
        at android.view.View.measure(View.java:19141) 
        at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2476) 
        at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1440) 
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1694) 
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1321) 
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6748) 
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911) 
        at android.view.Choreographer.doCallbacks(Choreographer.java:713) 
        at android.view.Choreographer.doFrame(Choreographer.java:648) 
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897) 
        at android.os.Handler.handleCallback(Handler.java:815) 
        at android.os.Handler.dispatchMessage(Handler.java:104) 
        at android.os.Looper.loop(Looper.java:207) 
        at android.app.ActivityThread.main(ActivityThread.java:5790) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1015) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876) 
       Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class ImageView 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:827) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:749) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:880) 
        at 
android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:843) 
       at andro 
I/Process: Sending signal. PID: 17409 SIG: 9 
Disconnected from the target VM, address: 'localhost:8600', transport: 
'socket' 

HomeActivity.java

package com.example.windows81.travelspoc; 

import android.content.Intent; 
import android.support.v4.view.ViewPager; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 

public class HomeActivity extends AppCompatActivity { 

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

    viewPager = (ViewPager) findViewById(R.id.viewPager); 
    ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(this); 
    viewPager.setAdapter(viewPagerAdapter); 
} 
public void exploreActivity(View view){ 
    Intent intent = new Intent(this,ExploreActivity.class); 
    startActivity(intent); 
} 

public void packagesActivity(View view){ 
    Intent intent = new Intent(this,PackagesActivity.class); 
    startActivity(intent); 
} 

public void dealsActivity(View view){ 
    Intent intent = new Intent(this,DealsActivity.class); 
    startActivity(intent); 
} 
} 

ViewPagerAdapter.java

package com.example.windows81.travelspoc; 

import android.content.Context; 
import android.support.v4.view.PagerAdapter; 
import android.support.v4.view.ViewPager; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ImageView; 

/** 
* Created by Windows 8.1 on 11/6/2017. 
*/ 

public class ViewPagerAdapter extends PagerAdapter{ 

private Context context; 
private LayoutInflater layoutInflater; 
private Integer [] images = {R.drawable.slide1,R.drawable.slide2}; 

public ViewPagerAdapter(Context context) { 
    this.context = context; 
} 

@Override 
public int getCount() { 
    return images.length; 
} 

@Override 
public boolean isViewFromObject(View view, Object object) { 
    return view == object; 
} 

@Override 
public Object instantiateItem(ViewGroup container, int position) { 

    layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View view = layoutInflater.inflate(R.layout.custom_layout,null); 
    ImageView imageView = (ImageView) view.findViewById(R.id.slider); 
    imageView.setImageResource(images[position]); 
    ViewPager vp = (ViewPager) container; 
    vp.addView(view, 0); 
    return view; 
} 

@Override 
public void destroyItem(ViewGroup container, int position, Object object) { 

    ViewPager vp = (ViewPager) container; 
    View view = (View) object; 
    vp.removeView(view); 

} 
} 
+1

あなたのcustom_layout xmlコードを投稿してください。 – Munir

+0

(R.id.slider)もImageViewですか?あなたは間違って膨らまなければなりません。 –

+0

あなたの 'R.layout.custom_layout'に何らかの問題があります –

答えて

0

スタックトレースは誤解を招くかもしれません。ドロアブルに問題がある可能性があります。別の@drawableを試して、動作しているかどうか確認してください。

android.view.InflateException:バイナリXMLファイルのライン#0:バイナリXMLファイルのライン#0:エラー膨張クラスImageViewのか、他の一つは、あなたのイメージファイルのサイズが少し大きい

あなたの誤差がありますことがあり

これを確認してください。

0

私はその答えを得ました。問題は、カスタムレイアウト用のmy imageViewのソースがミップマップだったことです。私はそれをdrawableに変更しました。現在作業中です。貢献してくれてありがとう。

関連する問題