gpt4 book ai didi

android - viewPager 的按钮 Activity ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:13 25 4
gpt4 key购买 nike

请不要评判我,我是 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) 未定义类型 new View.OnClickListener(){}”在线

 LinearLayout l = (LinearLayout) findViewById(R.id.layout2); 

和“The method getResources() is undefined for the type 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>

最佳答案

这是因为,正如它所解释的,OnClickListener 没有您在 OnClickListener 中使用的这两个方法。替换:

LinearLayout l = (LinearLayout) findViewById(R.id.layout2);

LinearLayout l = (LinearLayout) v.findViewById(R.id.layout2);

如果它然后说 v 应该是最终的,那应该没问题。并替换:

getResources().getDrawable(R.drawable.background)

ViewPagerAdapter.this.context.getResources().getDrawable(R.drawable.background)

关于android - viewPager 的按钮 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9099746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com