Abhinav Raja
Abhinav Raja

Reputation: 351

how to change textsize of a textView on button Click?

i have a viewpager where i am displaying some texts. i also have a button for which i want to change TextSize of the textview in viewpager when it is clicked. This is my code:

public class SrtSample extends Activity {

LayoutInflater inflater ;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.full_image);

    ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
    viewPager.setBackgroundColor(0xff000000);
    SlideSrt adapter = new SlideSrt(this);
    viewPager.setAdapter(adapter);

Button b= (Button) findViewById(R.id.pgtpics);

b.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // Dont know what to write here. 
        // This is the code i am using here but its not working.
inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View vi = inflater.inflate(R.layout.MyLayout, null); 
            TextView tv = (TextView)vi.findViewById(R.id.tv);
            tv.setTextSize(25);
    }
}); 

}

}

And this is my pagerAdapter class for viewpager:

public class SlideSrt extends PagerAdapter {
Context context;
LayoutInflater inflater;

String s1 = "Text1";
String s2 = "Text2";
String s3 = "Text3";
String s4 = "Text4";
String s5 = "Text5";

String allStrings[] = {s1,s2,s3,s4,s5} 

//Constructor
SlideSrt(Context context) {
    this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

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

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

public Object instantiateItem(ViewGroup container, int position) {

    View itemview;
    itemview = inflater.inflate(R.layout.MyLayout, container, false);
    TextView tv= (TextView) itemview.findViewById(R.id.tv);

  tv.setText(allsrt[position]);

    ((ViewPager) container).addView(itemview, 0);

    return itemview;

}


@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    ((ViewPager) container).removeView((View) object);
}
}

When i am clicking the button, Nothing happens. The textSize remains same. I must be doing something wrong in my OnclickListener method. Or there must be some other way of doing it. Please help me. i've been trying to solve this but no luck.

Upvotes: 0

Views: 394

Answers (1)

EricaCooksey
EricaCooksey

Reputation: 239

In your onClick method, you are inflating R.layout.MyLayout but you are not attaching it to a visible parent. So your TextView is not actually visible anywhere. Instead of inflating the layout, call findViewById on the view containing your TextView.

Upvotes: 1

Related Questions