2017-01-16 109 views
-4

所以我想连接一个OnClick方法到按钮A,但是当我点击那个按钮A时,我想要它的其他按钮(B,C,D,F)将变得可见。但是当我运行代码时,任何人都可以帮助我?Android Studio。如何访问OnClick方法中的另一个按钮?

 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.

+2

请张贴YOUT错误日志和你类完整代码 – firegloves

+0

发布完整的类。 –

+0

我已经发布全班,希望你能帮助我 –

回答

0

使用此完整代码:

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 
+1

你已经保存了大写的方法名称 – firegloves

+0

我改变了,并且错误仍然是 –

+0

@MárioCaldas,错误还在后面呢? – W4R10CK

0

你的第一个按钮应该如下:

<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方法应该如下(带有O的OnClick小写)的

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); 
} 

没有错误日志我们不能帮助您更精确地比那

+0

我改成小写但仍然崩溃,我发布错误日志 –

+0

在Activity中更改并在xml中?同样的错误? – firegloves

相关问题