【问题标题】:Android Studio. How to access another button in a OnClick method?安卓工作室。如何访问 OnClick 方法中的另一个按钮?
【发布时间】:2017-01-16 15:34:30
【问题描述】:

所以我想将 OnClick 方法连接到按钮 A,但是当我单击该按钮 A 时,我想要它的其他按钮(B、C、D、F)将变得可见。但是当我运行代码时它崩溃了,任何人都可以帮助我吗?

     public void OnClick(View v) 
{
    b.setVisibility(View.VISIBLE);
    c.setVisibility(View.VISIBLE);
    d.setVisibility(View.VISIBLE);
    f.setVisibility(View.VISIBLE);
}

我将此方法添加到我在activity_main.xml 中的按钮A。

【问题讨论】:

  • 请发布你的错误日志和你的完整代码
  • 发布完整课程。
  • 我已经发布了完整的课程,希望你能帮助我
  • 您在日志中的错误是什么?
  • 请同时发布您的activity_main.xml

标签: javascript android android-studio


【解决方案1】:

使用这个完整的代码:

ImageButton imB1, op1, op2, op3, op4, op5, op6, op7, op8;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    imB1 = (ImageButton) findViewById(R.id.imgB1);
    op1 = (ImageButton) findViewById(R.id.esc1);
    op2 = (ImageButton) findViewById(R.id.esc2);
    op3 = (ImageButton) findViewById(R.id.esc3);
    op4 = (ImageButton) findViewById(R.id.esc4);
    op5 = (ImageButton) findViewById(R.id.esc5);
    op6 = (ImageButton) findViewById(R.id.esc6);
    op7 = (ImageButton) findViewById(R.id.esc7);
    op8 = (ImageButton) findViewById(R.id.esc8);


}

public void Clicked(View v) {
    op1.setVisibility(View.VISIBLE);
    op2.setVisibility(View.VISIBLE);
    op3.setVisibility(View.VISIBLE);
    op4.setVisibility(View.VISIBLE);
    op5.setVisibility(View.VISIBLE);
    op6.setVisibility(View.VISIBLE);
    op7.setVisibility(View.VISIBLE);
    op8.setVisibility(View.VISIBLE);
}

并在您的 xml 中进行更改:

<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@android:drawable/checkbox_off_background"
android:layout_marginLeft="62dp"
android:layout_marginStart="62dp"
android:layout_marginTop="15dp"
android:id="@+id/imgB1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="Clicked" /> //here changes are made

【讨论】:

  • 你保留了大写的方法名
【解决方案2】:

您的第一个按钮应如下所示:

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@android:drawable/checkbox_off_background"
    android:layout_marginLeft="62dp"
    android:layout_marginStart="62dp"
    android:layout_marginTop="15dp"
    android:id="@+id/imgB1"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:onClick="onClick" />

根据最后一行,您在 MainActivity 中的方法应如下所示(OnClick 的 o 小写)

public void onClick(View v) {
    op1.setVisibility(View.VISIBLE);
    op2.setVisibility(View.VISIBLE);
    op3.setVisibility(View.VISIBLE);
    op4.setVisibility(View.VISIBLE);
    op5.setVisibility(View.VISIBLE);
    op6.setVisibility(View.VISIBLE);
    op7.setVisibility(View.VISIBLE);
    op8.setVisibility(View.VISIBLE);
}

如果没有错误日志,我们无法为您提供更准确的帮助

【讨论】:

  • 我改小写还是崩溃,我贴出错误日志
猜你喜欢
  • 1970-01-01
  • 2018-01-08
  • 2014-10-06
  • 1970-01-01
  • 2019-04-22
  • 2016-03-03
  • 2017-02-09
  • 1970-01-01
  • 2014-10-13
相关资源
最近更新 更多