带有 viewPager 的按钮活动?

2024-04-03

请不要评判我,我对 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>

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

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

with

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

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

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

with

ViewPagerAdapter.this.context.getResources().getDrawable(R.drawable.background)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 viewPager 的按钮活动? 的相关文章

随机推荐

  • 是否可以让 Google Closure 编译器*不*内联某些函数?

    闭包编译器正在内联一个函数 但如果该函数未内联 则代码大小会更小 我只关心代码大小 这是为了JS1k http js1k com 2010 xmas 我可以告诉编译器我不想内联该函数吗 Edit 为了更好地解释一下 这是我的功能 funct
  • 删除子项时,JPA 关系不会更新

    假设有以下场景 Entity public class A OneToMany mappedBy a cascade CascadeType ALL private List b bList Entity public class B Ma
  • create-react-app typescript 将不会运行 npm start

    我在尝试着create react app使用 typescript 但 JSX 和 TS 似乎有问题 我读了一些可能的解决方案 但对我来说并不奏效 I have npm 版本 16 14 7 节点 版本14 8 0 I used npx
  • 当 javascript 创建 html 时,如何通过 onclick 事件传递变量?

    我的 javascript 创建了一行 html 该 html 有一个 onclick 事件调用openSingle 我需要将一个变量传递给该函数 onclick openSingle findID 当我在运行时检查开发面板时 我得到 on
  • 是否可以在JavaScript中捕获滚动条上的鼠标事件

    我有一个 HTML 元素overflow scroll 当我点击该元素时 会触发向该元素注册的点击事件监听器 但是not当我单击元素的滚动条时 是否可以捕获 HTML 元素滚动条上发生的鼠标事件 我想这样做的原因是让视觉弹出元素在发生单击事
  • 用于集成测试的不同日志文件

    我在用SL4j http www slf4j org and Logback http logback qos ch 用于 Tomcat 中托管的 Web 应用程序 我使用 Spring 和 Maven 无配置文件 集成测试是使用 Sure
  • 获取图像高度和宽度作为整数值?

    我尝试过使用 PHP 函数获取图像大小 http php net manual en function getimagesize php 但我无法将图像宽度和高度提取为整数值 我怎样才能实现这个目标 尝试这样 list width heig
  • React:使用不同的键映射多维数组

    如何使用不同的键映射多维数组 这是一个类似的示例数组 我的原始数组是从ajax和PHP mysql查询获得的 这就是我需要这样做的原因 var products id 1 name John phones sony brand sony m
  • 如何配置 Visual Studio 代码以使用 Mac 的标准选项卡切换快捷方式?

    大多数具有选项卡式界面的 OS X 应用程序允许使用Cmd Shift and Cmd Shift 切换选项卡 VSCode 不遵循这一点 有没有办法将其配置为使用这些快捷方式快速切换到下一个 向右 和上一个 向左 选项卡 这种行为不同于C
  • 如何确定 git 历史记录是否是线性的?

    给定两个 git 提交 我如何确定 最好使用管道命令 它们之间的历史记录是否是线性的 换句话说 我想知道我是否有这个 A B C D E F G 而不是这个 C A B E F G D git log min parents 2只会显示至少
  • Scala - 如何在 for 理解块中使用 foreach 循环?

    我有一个简单的代码 override def createContributorsList url String params String F List Contributor getContributorsFromClient url
  • WPF:截屏的方法

    希望修改以下内容以从所有显示器上截取屏幕截图 我尝试过调整它 但我的图像是空白的 写入test png是为了测试 这byte 将被发送到接收应用程序 public byte Take int screenWidth Convert ToIn
  • FirebaseInstanceIdService getToken 返回 null

    我尝试将 FCM 通知添加到我的应用程序中 但出于某种原因 FirebaseInstanceId getInstance getToken 返回 null 由于我没有得到任何堆栈跟踪 我最好的猜测是 FirebaseInstanceIdSe
  • 从 C++ 代码和命令行生成相同的 Key 和 IV

    我的命令行工具 openssl 有问题 或者我的 C 代码有问题 我不知道哪个是不正确的 但是当我使用这两种方法从 passphase 和盐生成密钥和 IV 时 我没有得到相同的密钥 IV 值 您可以看到代码或命令行是否存在任何拼写错误或问
  • 在 foreach 循环中,使用 & 符号或基于键重新分配哪个更好?

    考虑以下 PHP 代码 Method 1 array array 1 2 3 4 5 foreach array as i gt number number array i number print r array Method 2 arr
  • 将 JMeter 报告转换为 JUnit 报告

    如何将 JMeter 报告转换为 JUnit 报告 有些工具 例如 VSTS 知道如何集成 JUnit 报告 但不知道如何集成 JMeter 报告 尽管它们可以运行 JMeter 我创建了一个 XSLT 将 XML JMeter 报告转换为
  • PyMongo Aggregate 如何获取executionStats

    我正在尝试获取特定 mongo 聚合查询的执行统计信息 我运行 db command 但没有给出 执行状态 这就是我正在努力做的事情 如何使用 db command 获取 Python Mongodb Aggregate 解释 https
  • 如何将一个框架分成两部分

    这是俄罗斯方块 玻璃 蓝色 位于左侧 控件 红色面板 位于右侧 换句话说 现在我只想将框架分为两部分 左 较宽 部分是蓝色 右部分是红色 而已 但我似乎没能做到这一点 所以 我的逻辑是 让框架有FlowLayout 然后我添加两个面板 这意
  • POSIX srandom(...) 和 random() 函数的 Windows 等效项?

    我正在尝试将一些代码从 UNIX 移植到 Windows 并且我需要 POSIX 的实现srandom x and random 对于给定的种子函数x 生成与符合 POSIX 1 2001 的编号规则相同的编号规则 Windows 上有哪些
  • 带有 viewPager 的按钮活动?

    请不要评判我 我对 android 开发非常陌生 我想用 viewPager 制作一个应用程序 我有三个具有三种不同布局的页面 但我只是不知道如何处理 viewPager 上第二页上的按钮 我发现了这个问题 如何在viewpager中编写按