In my android app I am using ViewPager
to navigate between 4 XML
. Following is the code used.
package com.win.kora;
import android.app.Activity;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.drawable.GradientDrawable;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.SurfaceView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class Htpnew extends Activity
{
private ViewPager viewPager;
private LinearLayout page1;
private LinearLayout page2;
private LinearLayout page3;
private LinearLayout page4;
private TextView tv2, tv3, tv4, tv6, tv7, tv8;
private SurfaceView sv;
private Canvas c;
private Paint paint= new Paint(Paint.ANTI_ALIAS_FLAG), paint1= new Paint(Paint.ANTI_ALIAS_FLAG);
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.htpnew);
viewPager = (ViewPager) findViewById(R.id.pager);
viewPager.setAdapter(new MainPageAdapter());
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position)
{
Toast.makeText(Htpnew.this, "page " + (position + 1), Toast.LENGTH_SHORT).show();
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
{
}
@Override
public void onPageScrollStateChanged(int state)
{
}
});
}
class MainPageAdapter extends PagerAdapter
{
@Override
public int getCount()
{
return 4;
}
@Override
public Object instantiateItem(ViewGroup collection, int position)
{
View page = null;
switch (position)
{
case 0:
if (page1 == null)
{
page1 = (LinearLayout) LayoutInflater.from(Htpnew.this).inflate(R.layout.page_one, null);
}
page = page1;
break;
case 1:
if (page2 == null)
{
page2 = (LinearLayout) LayoutInflater.from(Htpnew.this).inflate(R.layout.page_two, null);
}
page = page2;
break;
case 2:
if (page3 == null)
{
page3 = (LinearLayout) LayoutInflater.from(Htpnew.this).inflate(R.layout.page_three, null);
}
page = page3;
break;
default:
if (page4 == null)
{
page4 = (LinearLayout) LayoutInflater.from(Htpnew.this).inflate(R.layout.page_four, null);
}
page = page4;
break;
}
((ViewPager) collection).addView(page, 0);
return page;
}
@Override
public boolean isViewFromObject(View view, Object object)
{
return view == object;
}
@Override
public void destroyItem(View collection, int position, Object view)
{
((ViewPager) collection).removeView((View) view);
}
}
}
However, I want to make changes in these XML using java, like changing background color of a textview etc - for eg,
tv8=(TextView) findViewById(R.id.tv8); GradientDrawable gd = (GradientDrawable) tv8.getBackground();
gd.setColor(0xFFFF0000);
Even there is a surfaceview on which some drawing has to be done based on user input. Such changes are required in all the 4 XML. Where this code has to be placed ?