2016-07-01 6 views
0

나는 더 큰 앱을 개발하기 위해 약간의 앱을 시험해보고자한다. 4 개의 이미지를 표시하는 viewpager를 추가하고 싶습니다.이 viewpager를 단독으로 개발하여 작동했지만, 태그가있는 다른 응용 프로그램 (버튼 만 사용)에 추가하려고하면 아무 것도 표시되지 않습니다. 정말 여기 붙어 있네. 이 방법으로 뷰 페이지를 추가 할 수 있습니까? 솔직히 나는 Java에서 그다지 많은 경험이 없으며, 보통 C와 Assembler 만 프로그램합니다. 당신이 저를 도울 수 있다면 정말 기뻐할 것입니다. 안드로이드 ViewPager가 보이지 않음

은 버튼으로 XML 파일과는 다음과 같습니다

<RelativeLayout 
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:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" 
android:weightSum="1"> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Calculo Rapido" 
    android:id="@+id/btcr" 
    android:layout_gravity="center_vertical" 
    android:layout_weight="0.16" 
    android:layout_alignParentStart="true" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Calculo Avanzado" 
    android:id="@+id/button" 
    android:layout_centerVertical="true" 
    android:layout_below="@+id/btcr" /> 

<include layout="@layout/viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_centerHorizontal="true" 
    android:translationZ="15dp" /> 

을 지금, 나는이 viewpager와 연결 것 액티비티 내부의 Viewpager를 유지하기 때문에 버튼 활동을 보유하고있는 MainActivity, 원래 레이아웃

Button siguiente; 

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

    siguiente = (Button)findViewById(R.id.btcr); 
    siguiente.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent siguiente = new Intent(MainActivity.this, Main2Activity.class); 
      startActivity(siguiente); 
     } 
    }); 
} 

그리고 마지막으로는 mainpager 주요 활동에 대한 코드, 이것은 또 다른 자바 클래스에 저장된 CustomPagerAdapter를 사용합니다. 앞서 말했듯이이 뷰 페이지는 단독으로 작동하지만 여기에서/include 태그를 사용하여 구현하려고하면 아무 것도 표시되지 않습니다.

공용 클래스 MainActivity가 활동을 확장 {너무 긴 사람,하지만 난 조금 좌절 경우

CustomPagerAdapter mCustomPagerAdapter; 
ViewPager mViewPager; 
private static int currentPage = 0; 
private static int NUM_PAGES = 0; 
Button siguiente; 

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

    // == Setting up the ViewPager == 

    mCustomPagerAdapter = new CustomPagerAdapter(this); 

    mViewPager = (ViewPager) findViewById(R.id.pager); 
    mViewPager.setAdapter(mCustomPagerAdapter); 

    final Handler handler = new Handler(); 
    final Runnable Update = new Runnable() { 
     public void run() { 
      if (currentPage == NUM_PAGES) { 
       currentPage = 0; 
      } 
      mViewPager.setCurrentItem(currentPage++); 

      if (currentPage == 5) { 
       currentPage = 0; 
       mViewPager.setCurrentItem(currentPage++, false); 
      } 
     } 
    }; 
    Timer swipeTimer = new Timer(); 
    swipeTimer.schedule(new TimerTask() { 
     @Override 
     public void run() { 
      handler.post(Update); 
     } 
    }, 2000, 2000); 

} 

죄송합니다, 나는 많은 것들을 시도했지만 아직 작동하지 않습니다. 버튼이 작동하고 ViewPager가 작동하지 않거나 ViewPager가 작동하지만 버튼이 작동하지 않습니다.

나는 reaaally 당신의 도움 :)

답변

0

은 내가 필요한 것은 바로 간단한 해결책이었다 밝혀졌습니다. viewpager를 다른 객체로서 내 액티비티의 레이아웃 파일에 넣어야했습니다. 단지 크기와 위치를 구성해야했습니다. 그리고 나서, onCreate에서 제 기능을하는 ViewPager의 코드를 붙여 넣었습니다. 아주 간단합니다. 다른 레이아웃을 요구하지 않고 :)

0

Main2Activity.class

내부 이제이 코드

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

    <android.support.v4.view.ViewPager 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/pager"> 

    </android.support.v4.view.ViewPager> 
</LinearLayout> 

layout 폴더 이름을 secondactivity.xml

내 새 XML 파일을 만들어 넣어 aprecciate합니다

변경

setContentView(R.layout.activity_main);

setContentView(R.layout.secondactivity);

에 그리고 이전 XML에서 include을 제거

+0

그리고 얼마나 많은 활동과 xml 파일이 있는지 설명하십시오. – ebyt

+0

다른 3 xml 레이아웃이 있습니다. 하나는 테스트 용 스플래시 화면이고 다른 하나는 테스트 용입니다 (사실이 버튼은이 레이아웃으로 뛰어 들었습니다). 그리고 View Pager에 대한 요소를 제공하는 하나입니다. 그리고 또 다른 세 가지 활동 인 스플래시 화면, 버튼이 레이어를 통과 할 수있게하는 버튼 및 뷰 페이지가 작동하도록 만드는 버튼 (이미지 그리기, 루틴 만들기 등)이 있습니다. 도움 ebyt 주셔서 감사합니다, 나는 지금 당신의 솔루션을 구현하고 있습니다 :) – mrRSA

관련 문제