请不要评判我,我对 android 开发非常陌生...我想用 viewPager 制作一个应用程序...我有三个具有三种不同布局的页面...但我只是不知道如何处理 viewPager 上第二页上的按钮。我发现了这个问题“如何在viewpager中编写按钮onClick方法? https://stackoverflow.com/questions/8698789/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;
}
我在这里遇到错误:
“对于 new View.OnClickListener(){} 类型,findViewById(int) 方法未定义”在线
LinearLayout l = (LinearLayout) findViewById(R.id.layout2);
和在线“新 View.OnClickListener(){} 类型的方法 getResources() 未定义”
l.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
Main:
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>