2014-10-21 4 views
-1

내 프로젝트에 새 Progress bar lib를 추가했습니다. 나는 그것을 maven을 통해 추가했다. 그런 다음 레이아웃 파일에서 진행률 표시 줄을 사용했습니다. 응용 프로그램을 실행하는 동안이 오류가 표시됩니다.클래스를 팽창시키는 중 오류를 처리하는 방법은 무엇입니까?

Caused by: android.view.InflateException: Binary XML file line #15: Error inflating class com.github.castorflex.android.circularprogressbar.CircularProgressBar 

이것은 내가 https://github.com/castorflex/SmoothProgressBar을 사용하는 도서관입니다.

내 레이아웃 파일

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" 
    tools:ignore="MergeRootFrame"> 

    <ListView 
     android:id="@+id/feed_list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <com.github.castorflex.android.circularprogressbar.CircularProgressBar 

     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:indeterminate="true" 
     android:id="@+id/progressBar" 
     app:cpb_color="#FFee44" 
     app:cpb_colors="@array/colors" 
     app:cpb_rotation_speed="1.0" 
     app:cpb_sweep_speed="1.0" 
     app:cpb_stroke_width="4dp" 
     app:cpb_min_sweep_angle="10" 
     app:cpb_max_sweep_angle="300" 
     /> 
</FrameLayout> 

내 클래스

public class VideoActivity extends Activity { 

    private static final String TAG = "Mine"; 


    private static final int REQ_START_STANDALONE_PLAYER = 1; 
    private static final int REQ_RESOLVE_SERVICE_MISSING = 2; 

    public static final String DEVELOPER_KEY = "AIzaSyDcnoqJGI1872s"; 

    public ListView listView; 
    private FeedListAdapter listAdapter; 
    private List<FeedItem> feedItems; 
    public String mvideoid; 
    public String mstatus; 
    ProgressBar progressBar; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_feed_list); 
     progressBar = (ProgressBar) findViewById(R.id.progressBar); 
     progressBar.setVisibility(View.VISIBLE); 
     listView = (ListView) findViewById(R.id.feed_list); 
     feedItems = new ArrayList<FeedItem>(); 
     listAdapter = new FeedListAdapter(this, feedItems); 
     listView.setAdapter(listAdapter); 

     // making fresh volley request and getting json 
     GsonRequest<FeedResult> gsonRequest = new GsonRequest<FeedResult>(URL_FEED, FeedResult.class, 
       new Response.Listener<FeedResult>() { 
        @Override 
        public void onResponse(FeedResult response) { 
         feedItems = response.getFeedItems(); 
         listAdapter.setData(feedItems); 
         listAdapter.notifyDataSetChanged(); 
         progressBar.setVisibility(View.INVISIBLE); 
        } 
       }, 
       new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
         Log.d(TAG, "Error: " + error.getMessage()); 
        } 
       }); 


     // Adding request to volley request queue 
     AppController.getInstance().addRequest(gsonRequest, TAG); 
     getid(); 
    } 
} 
+0

com.github.castorflex.android.circularprogressbar.CircularProgressBar 클래스 가 있습니까? 패키지 이름을 확인하고 클래스의 코드를 표시하십시오. –

+0

EDIT를 참조하십시오 ... – AruLNadhaN

+0

클래스 CircularProgressBar를 요청하고 있습니다. 어느 logcat에 오류가 발생하고 있습니다 –

답변

0

당신이 사용자 정의 구성 요소를 사용하는 경우는 당신이

import com.github.castorflex.android.circularprogressbar.CircularProgressBar; 


    public class VideoActivity extends Activity { 

    CircularProgressBar progressBar; 
    . 
    . 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_feed_list); 
      progressBar = (CircularProgressBar) findViewById(R.id.progressBar); 
    . 
    . 
    . 

즉 같은 이름으로 참조 ~을 사용하여 이 교체 할

+0

그것은 수입 명세서에 오류가 표시됩니까? – AruLNadhaN

+0

빌드 경로에서 해당 항목을 확인 했습니까? – MOSO

+0

Android Studio를 사용 중입니다. 그것은 내 프로젝트 구조에 표시됩니다 ... – AruLNadhaN

0

시도 XML에 존재하지 않는 기본 하나를

xmlns:app="http://schemas.android.com/apk/res/com.android.demo" 

이 값 (com.android.demo)이 패키지 이름으로 대체합니다.

+0

오류 : (14) 내 패키지의 속성 'cpb_color'에 대한 리소스 식별자가 없습니다. – AruLNadhaN

+0

@Haresh Chhelana : XML에서 사용자 정의 CircularProgressBar를 사용하는 반면에 기본 progressBar를 사용하고 있다고 잘못 생각하지 않습니까? 그래서 그게 너무 중요한 코딩 오류 야? – MOSO