【发布时间】:2012-02-01 16:49:19
【问题描述】:
请不要评判我,我是 android 开发的新手……我想用 viewPager 制作一个应用程序……我有三个页面,三种不同的布局……但我就是做不到弄清楚如何处理 viewPager 上第二页上的按钮。我发现了这个问题“How to write button onClick method in viewpager?”并将我的代码设置为:
ViewPagerAdapter:
@Override
public Object instantiateItem( View pager, int position )
{
View v = new View(pager.getContext());
LayoutInflater inflater =
(LayoutInflater) pager.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.deneme;
break;
case 1:
resId = R.layout.deneme2;
break;
case 2:
resId = R.layout.deneme3;
break;
}
v = inflater.inflate(resId, null);
((ViewPager) pager).addView(v, 0);
return v;
}
这里出现错误: “方法 findViewById(int) 未定义新 View.OnClickListener(){} 类型”
LinearLayout l = (LinearLayout) findViewById(R.id.layout2);
和“方法getResources() 未定义类型new View.OnClickListener(){}”上线
l.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
主要:
public class ViewPagerProjectActivity extends Activity {
Button btn;
View deneme2lout;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ViewPagerAdapter adapter = new ViewPagerAdapter( this );
ViewPager pager = (ViewPager)findViewById( R.id.viewpager );
pager.setAdapter( adapter );
pager.setCurrentItem(0);
LayoutInflater getView = getLayoutInflater();
deneme2lout = (View) getView.inflate(R.layout.deneme2,null);
btn = (Button) deneme2lout.findViewById(R.id.button1);
}
public void buttonClick(View v) {
if(v.equals(btn)) {
deneme2lout.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
}
}
}
所以我得到了,我不能使用这两个代码......那么我应该怎么做呢?单击第二个布局上的按钮时,我需要更改第二页的背景。
这是我的 deneme2.xml 代码:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="175dp"
android:layout_height="95dp"
android:layout_x="69dp"
android:layout_y="174dp"
android:textSize="25dp"
android:text="Change" />
</AbsoluteLayout>
【问题讨论】:
-
感谢您的代码帮助了我。
-
很高兴听到它:) @Kedarnath
标签: android android-layout button android-viewpager