我执行此代码以消除按钮本身。但它根本不起作用:
againbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
againbtn.setVisibility(View.GONE);
}
});
更新: 我的againbtn在活动加载时是不可见的,在我的代码中,在另一个buttun点击内,我用这段代码看到它:
//answer button off animation
Animation anim2 = AnimationUtils.loadAnimation(MainActivity.this, R.anim.askbtnoffanim);
anim2.setFillAfter(true);
askbtn.startAnimation(anim2);
你可以看到我没有使用againbtn.setVisibility(View.VISIBLE);
或其他东西。动画本身就出现了按钮。你认为我的问题与此有关吗?我尝试做另一个动画消失按钮itselft,它工作但仍然clicklistener
适用于他的位置区域的这个按钮!!
为什么?
答案 0 :(得分:0)
试试这个
againbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
runOnUiThread(new Runnable()
{
@Override
public void run()
{
againbtn.setVisibility(View.GONE);
}
});
}
});
答案 1 :(得分:0)
检查您导入的类,导入以下类:
import android.view.View.OnClickListener;
而不是:
import android.content.DialogInterface.OnClickListener;
我在这里提供完整的代码,您可以使用它:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button b;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
b.setVisibility(View.GONE);
}
});
}
}
这是activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="Button" />
</RelativeLayout>