feelmusic
27/04/13, 12:37:02
Buenas, ya estoy otra vez con dudas que seguramente seran tonterias para vosotros. Estoy con el ViewPager y he añadido la libreria de ViewPagerIndicator para los titulos de cada layout pero no consigo saber donde tengo que poner esos titulos, porque funciona pero no me sale ningun titulo y sale en blanco.
Tengo dos layouts xml, "dos" y "tres", y este es el codigo:
package com.viewpager3;
import com.viewpagerindicator.TitlePageIndicator;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
ViewPager vp;
private vpAdapter miAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp = (ViewPager) findViewById(R.id.viewpager);
miAdapter = new vpAdapter();
vp.setAdapter(miAdapter);
TitlePageIndicator titleIndicator = (TitlePageIndicator) findViewById(R.id.titulos);
titleIndicator.setViewPager(vp);
}
private class vpAdapter extends PagerAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return 2;
}
@Override
public boolean isViewFromObject(View view, Object object) {
// TODO Auto-generated method stub
return view == ((LinearLayout)object);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
((ViewPager)container).removeView((LinearLayout)ob ject);
}
@Override
public void finishUpdate(ViewGroup container) {
// TODO Auto-generated method stub
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
LayoutInflater inflater = (LayoutInflater)container.getContext().getSystemSe rvice(Context.LAYOUT_INFLATER_SERVICE);
View v = null;
switch(position){
case 0:
v = inflater.inflate(R.layout.dos, null);
break;
case 1:
v = inflater.inflate(R.layout.tres, null);
break;
}
((ViewPager)container).addView(v, 0);
return v;
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(ViewGroup container) {
// TODO Auto-generated method stub
}
@Override
public CharSequence getPageTitle(int position){
return "vp " + (position + 1);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Tengo dos layouts xml, "dos" y "tres", y este es el codigo:
package com.viewpager3;
import com.viewpagerindicator.TitlePageIndicator;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
ViewPager vp;
private vpAdapter miAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp = (ViewPager) findViewById(R.id.viewpager);
miAdapter = new vpAdapter();
vp.setAdapter(miAdapter);
TitlePageIndicator titleIndicator = (TitlePageIndicator) findViewById(R.id.titulos);
titleIndicator.setViewPager(vp);
}
private class vpAdapter extends PagerAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return 2;
}
@Override
public boolean isViewFromObject(View view, Object object) {
// TODO Auto-generated method stub
return view == ((LinearLayout)object);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
((ViewPager)container).removeView((LinearLayout)ob ject);
}
@Override
public void finishUpdate(ViewGroup container) {
// TODO Auto-generated method stub
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
LayoutInflater inflater = (LayoutInflater)container.getContext().getSystemSe rvice(Context.LAYOUT_INFLATER_SERVICE);
View v = null;
switch(position){
case 0:
v = inflater.inflate(R.layout.dos, null);
break;
case 1:
v = inflater.inflate(R.layout.tres, null);
break;
}
((ViewPager)container).addView(v, 0);
return v;
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(ViewGroup container) {
// TODO Auto-generated method stub
}
@Override
public CharSequence getPageTitle(int position){
return "vp " + (position + 1);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}