ViewPaper里面的layout怎么动态改变 layoutviewpager 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class CopyOfViewPaperActivity extends Activity implements OnPageChangeListener { private ViewPager vp; private MyAdapter vpAdapter; //private ViewPagerAdapter vpAdapter; private List<View> views; private GridView attamGridView; private TextView text; private Button addattach; // \u5e95\u90e8\u5c0f\u70b9\u56fe\u7247 private ImageView[] dots; // \u8bb0\u5f55\u5f53\u524d\u9009\u4e2d\u4f4d\u7f6e private int currentIndex; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); addattach = (Button) findViewById(R.id.addattachment); addattach.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { addattach(); vpAdapter.notifyDataSetChanged(); } }); //addattach(); // \u521d\u59cb\u5316\u9875\u9762 initViews(); // \u521d\u59cb\u5316\u5e95\u90e8\u5c0f\u70b9 initDots(); } private void initViews() { LayoutInflater inflater = LayoutInflater.from(this); views = new ArrayList<View>(); // \u521d\u59cb\u5316\u5f15\u5bfc\u56fe\u7247\u5217\u8868 views.add(inflater.inflate(R.layout.layout1, null)); views.add(inflater.inflate(R.layout.layout2, null)); views.add(inflater.inflate(R.layout.layout3, null)); // \u521d\u59cb\u5316Adapter //vpAdapter = new ViewPagerAdapter(views,this); vpAdapter = new MyAdapter(); vp = (ViewPager) findViewById(R.id.viewpager); vp.setAdapter(vpAdapter); // \u7ed1\u5b9a\u56de\u8c03 vp.setOnPageChangeListener(this); } private void initDots() { LinearLayout group = (LinearLayout) findViewById(R.id.viewGroup); dots = new ImageView[views.size()]; // \u5faa\u73af\u53d6\u5f97\u5c0f\u70b9\u56fe\u7247 for (int i = 0; i < views.size(); i++) { ImageView imageView = new ImageView(this); imageView.setLayoutParams(new LayoutParams(10,10)); dots[i] = imageView; if(i == 0){ dots[i].setBackgroundResource(R.drawable.page_indicator_focused); }else{ dots[i].setBackgroundResource(R.drawable.page_indicator_unfocused); } LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); layoutParams.leftMargin = 5; layoutParams.rightMargin = 5; group.addView(imageView, layoutParams); } currentIndex = 0; dots[currentIndex].setEnabled(false);// \u8bbe\u7f6e\u4e3a\u767d\u8272\uff0c\u5373\u9009\u4e2d\u72b6\u6001 } // \u5f53\u6ed1\u52a8\u72b6\u6001\u6539\u53d8\u65f6\u8c03\u7528 @Override public void onPageScrollStateChanged(int arg0) { } // \u5f53\u5f53\u524d\u9875\u9762\u88ab\u6ed1\u52a8\u65f6\u8c03\u7528 @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } // \u5f53\u65b0\u7684\u9875\u9762\u88ab\u9009\u4e2d\u65f6\u8c03\u7528 @Override public void onPageSelected(int arg0) { // \u8bbe\u7f6e\u5e95\u90e8\u5c0f\u70b9\u9009\u4e2d\u72b6\u6001 //setCurrentDot(arg0); setImageBackground(arg0 % 3); } public class MyAdapter extends PagerAdapter{ @Override public int getCount() { if (views != null) { return views.size(); } return 0; } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } // \u9500\u6bc1arg1\u4f4d\u7f6e\u7684\u754c\u9762 @Override public void destroyItem(View arg0, int arg1, Object arg2) { ((ViewPager) arg0).removeView(views.get(arg1)); } /** * \u8f7d\u5165\u56fe\u7247\u8fdb\u53bb\uff0c\u7528\u5f53\u524d\u7684position \u9664\u4ee5 \u56fe\u7247\u6570\u7ec4\u957f\u5ea6\u53d6\u4f59\u6570\u662f\u5173\u952e */ @Override public Object instantiateItem(View arg0, int arg1) { ((ViewPager) arg0).addView(views.get(arg1), 0); return views.get(arg1); } } /** * \u8bbe\u7f6e\u9009\u4e2d\u7684tip\u7684\u80cc\u666f * @param selectItems */ private void setImageBackground(int selectItems){ for(int i=0; i<dots.length; i++){ if(i == selectItems){ dots[i].setBackgroundResource(R.drawable.page_indicator_focused); }else{ dots[i].setBackgroundResource(R.drawable.page_indicator_unfocused); } } } public void addattach(){ LinearLayout layout = (LinearLayout) getLayoutInflater().inflate(R.layout.layout1, null); text = (TextView) layout.findViewById(R.id.text); text.setText("aaaa"); }}刚才发的有点问题 Android 播放 混合的视频,音频流 ANDROID打不开网页 如何关闭GPS信号 android中的单元测试不重要吗?为什么网上都没有介绍的东西啊? 关于EditTextPreference的一个难题 android应用发AT命令的问题 如何调试程序 android网络应用开发问题 求推荐几本android进阶用的好书 GridView出现OOM问题!!!!! 【求助】如何改变这个滚动时间控件的文本大小? android 就是java语言吗,界面怎么控制?
private ViewPager vp;
private MyAdapter vpAdapter;
//private ViewPagerAdapter vpAdapter;
private List<View> views;
private GridView attamGridView;
private TextView text;
private Button addattach;
// \u5e95\u90e8\u5c0f\u70b9\u56fe\u7247
private ImageView[] dots; // \u8bb0\u5f55\u5f53\u524d\u9009\u4e2d\u4f4d\u7f6e
private int currentIndex;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addattach = (Button) findViewById(R.id.addattachment);
addattach.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addattach();
vpAdapter.notifyDataSetChanged();
}
});
//addattach();
// \u521d\u59cb\u5316\u9875\u9762
initViews(); // \u521d\u59cb\u5316\u5e95\u90e8\u5c0f\u70b9
initDots();
} private void initViews() {
LayoutInflater inflater = LayoutInflater.from(this); views = new ArrayList<View>();
// \u521d\u59cb\u5316\u5f15\u5bfc\u56fe\u7247\u5217\u8868
views.add(inflater.inflate(R.layout.layout1, null));
views.add(inflater.inflate(R.layout.layout2, null));
views.add(inflater.inflate(R.layout.layout3, null)); // \u521d\u59cb\u5316Adapter
//vpAdapter = new ViewPagerAdapter(views,this);
vpAdapter = new MyAdapter();
vp = (ViewPager) findViewById(R.id.viewpager);
vp.setAdapter(vpAdapter);
// \u7ed1\u5b9a\u56de\u8c03
vp.setOnPageChangeListener(this);
} private void initDots() {
LinearLayout group = (LinearLayout) findViewById(R.id.viewGroup); dots = new ImageView[views.size()]; // \u5faa\u73af\u53d6\u5f97\u5c0f\u70b9\u56fe\u7247
for (int i = 0; i < views.size(); i++) {
ImageView imageView = new ImageView(this);
imageView.setLayoutParams(new LayoutParams(10,10));
dots[i] = imageView;
if(i == 0){
dots[i].setBackgroundResource(R.drawable.page_indicator_focused);
}else{
dots[i].setBackgroundResource(R.drawable.page_indicator_unfocused);
}
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
layoutParams.leftMargin = 5;
layoutParams.rightMargin = 5;
group.addView(imageView, layoutParams);
} currentIndex = 0;
dots[currentIndex].setEnabled(false);// \u8bbe\u7f6e\u4e3a\u767d\u8272\uff0c\u5373\u9009\u4e2d\u72b6\u6001
} // \u5f53\u6ed1\u52a8\u72b6\u6001\u6539\u53d8\u65f6\u8c03\u7528
@Override
public void onPageScrollStateChanged(int arg0) {
} // \u5f53\u5f53\u524d\u9875\u9762\u88ab\u6ed1\u52a8\u65f6\u8c03\u7528
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
} // \u5f53\u65b0\u7684\u9875\u9762\u88ab\u9009\u4e2d\u65f6\u8c03\u7528
@Override
public void onPageSelected(int arg0) {
// \u8bbe\u7f6e\u5e95\u90e8\u5c0f\u70b9\u9009\u4e2d\u72b6\u6001
//setCurrentDot(arg0);
setImageBackground(arg0 % 3);
}
public class MyAdapter extends PagerAdapter{
@Override
public int getCount() {
if (views != null) {
return views.size();
}
return 0;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
// \u9500\u6bc1arg1\u4f4d\u7f6e\u7684\u754c\u9762
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView(views.get(arg1));
}
/**
* \u8f7d\u5165\u56fe\u7247\u8fdb\u53bb\uff0c\u7528\u5f53\u524d\u7684position \u9664\u4ee5 \u56fe\u7247\u6570\u7ec4\u957f\u5ea6\u53d6\u4f59\u6570\u662f\u5173\u952e
*/
@Override
public Object instantiateItem(View arg0, int arg1) {
((ViewPager) arg0).addView(views.get(arg1), 0);
return views.get(arg1);
}
}
/**
* \u8bbe\u7f6e\u9009\u4e2d\u7684tip\u7684\u80cc\u666f
* @param selectItems
*/
private void setImageBackground(int selectItems){
for(int i=0; i<dots.length; i++){
if(i == selectItems){
dots[i].setBackgroundResource(R.drawable.page_indicator_focused);
}else{
dots[i].setBackgroundResource(R.drawable.page_indicator_unfocused);
}
}
}
public void addattach(){
LinearLayout layout = (LinearLayout) getLayoutInflater().inflate(R.layout.layout1, null);
text = (TextView) layout.findViewById(R.id.text);
text.setText("aaaa");
}}刚才发的有点问题