Пожалуйста, не судите меня, я очень новичок в разработке для Android ... Я хочу сделать приложение с ViewPager ... У меня есть три страницы с тремя различными макетами ... Но я просто не мог выяснить, как обращаться с кнопкой на второй странице viewPager. Я нашел этот вопрос " Как написать метод кнопки onClick в 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) не определен для типа new 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>