2014-07-13 2 views
0

일부 텍스트를 표시하는 뷰 페이지가 있습니다. 나는 또한 그것을 클릭하면 viewpager에서 textview의 TextSize를 변경하고자하는 버튼이있다. 이건 내 코드입니다 :단추에 textView의 textsize를 변경하는 방법?

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); 
    } 
}); 

} 

} 

그리고 이것은 viewpager 내 pagerAdapter 클래스입니다 :

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); 
} 
} 

내가 버튼을 클릭하고, 아무런 변화가 없습니다. textSize는 동일하게 유지됩니다. 내 OnclickListener 메서드에서 뭔가 잘못하고 있어야합니다. 아니면 다른 방법이 있어야합니다. 도와주세요. 나는 이것을 해결하려고 노력했지만 행운이 없다.

+0

왜이 질문에서 모든 의견이 사라졌습니까? –

+0

누군가이 질문에 답변했으며 지금은 볼 수 없습니다. 어디 갔어? –

답변

1

onClick 메서드에서 R.layout.MyLayout을 팽창 시켰지만 눈에 보이는 부모에 부착하지 않았습니다. 따라서 TextView는 실제로 어디에도 표시되지 않습니다. 레이아웃을 확장하는 대신 TextView가 포함 된보기에서 findViewById으로 전화하십시오.

+0

예, 지금은 작동하지만 매우 이상하게 작동합니다. 뷰 페이지의 마지막 페이지 만 영향을받습니다. 나머지는 아닙니다. viewpager가 뷰를 부 풀릴 때마다 영향을 미치기 때문에 LocalBroadcastManager를 사용해야합니다. 도와 주셔서 감사합니다. –

관련 문제