Java ImageButton在单击时不执行任何操作-android

Java ImageButton在单击时不执行任何操作-android,java,android,android-activity,Java,Android,Android Activity,我在android上做我新应用的前端,我遇到了一个问题。 在我的第一个活动中,我的按钮工作正常,将用户带到第二个活动,现在问题出现了。 当我点击另一个按钮进入第三个活动时,什么也没发生 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageButton sal

我在android上做我新应用的前端,我遇到了一个问题。 在我的第一个活动中,我的按钮工作正常,将用户带到第二个活动,现在问题出现了。 当我点击另一个按钮进入第三个活动时,什么也没发生

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

    ImageButton saldoButton = (ImageButton)findViewById(R.id.saldoButton);

    saldoButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            setContentView(R.layout.activity_saldo);

        }
    });
}
现在,按照此按钮的“我的xml”进行操作:

            <ImageButton
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:id="@+id/saldoButton"
            android:layout_column="2"
            android:background="?android:attr/selectableItemBackground"
            android:src="@drawable/test02" />


有人知道发生了什么吗?

你必须开始第三项活动

saldoButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
             Intent i= new Intent(currentActivity.this,thirdActivity.class);
             startActivity(i);

        }
    });

你必须开始第三项活动

saldoButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
             Intent i= new Intent(currentActivity.this,thirdActivity.class);
             startActivity(i);

        }
    });

您缺少XML上的android:clickable=“true”

        <ImageButton
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:id="@+id/saldoButton"
        android:layout_column="2"
        android:clickable="true"
        android:background="?android:attr/selectableItemBackground"
        android:src="@drawable/test02" />

现在应该可以了。如果没有,请告诉我。祝你好运

您缺少XML上的
android:clickable=“true”

        <ImageButton
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:id="@+id/saldoButton"
        android:layout_column="2"
        android:clickable="true"
        android:background="?android:attr/selectableItemBackground"
        android:src="@drawable/test02" />

现在应该可以了。如果没有,请告诉我。祝你好运

由于您正在膨胀一个新布局,您需要再次调用
findviewbyd
以重新访问ImageView,因为一个布局中的按钮ID与另一个布局中的按钮ID不同

saldoButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        setContentView(R.layout.activity_saldo);
        saldoButton = (ImageView) findViewById(R.id.saldoButton);
    }
});

也就是说,您应该创建另一个活动或另一个片段,而不是膨胀另一个版面。

由于正在膨胀新版面,您需要再次调用
findViewById
以重新访问ImageView,因为一个版面中的按钮ID与另一版面中的按钮ID不同

saldoButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        setContentView(R.layout.activity_saldo);
        saldoButton = (ImageView) findViewById(R.id.saldoButton);
    }
});
也就是说,您应该创建另一个活动或另一个片段,而不是膨胀另一个布局。

在ImageButtonXML中添加android:clickable=“true”

saldoButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        setContentView(R.layout.activity_saldo);
        saldoButton = (ImageView) findViewById(R.id.saldoButton);
    }
});
定义和初始化AudioManager

var audioManager:AudioManager = context.getSystemService(Context.AUDIO_SERVICE) 
as AudioManager
在那之后

imageButton.setOnClickListener(View.OnClickListener { view ->
        audioManager.playSoundEffect(AudioManager.FX_KEYPRESS_RETURN,1f);
    })
在ImageButton XML中添加android:clickable=“true”

定义和初始化AudioManager

var audioManager:AudioManager = context.getSystemService(Context.AUDIO_SERVICE) 
as AudioManager
在那之后

imageButton.setOnClickListener(View.OnClickListener { view ->
        audioManager.playSoundEffect(AudioManager.FX_KEYPRESS_RETURN,1f);
    })


您需要再次调用'findViewById'以重新获得对ImageView的访问权限,只需确保只调用
setContentView(R.layout.activity\u saldo)并不意味着您正在开始新的活动,它是同一个活动,只有布局将被更改。要与新的布局视图交互,您必须使用
findViewById()
@TyMarc再次定义视图,我需要在哪里再次调用它?@user370305 Im使用
setContentView
转到我的第三个活动,它是另一个布局。我仍然没有得到该按钮开始工作所需的操作。@CássioBruzasco您应该阅读此内容您需要再次调用“findViewById”以重新访问您的ImageView,只需确保只调用
setContentView(R.layout.activity\u saldo)并不意味着您正在开始新的活动,它是同一个活动,只有布局将被更改。要与新的布局视图交互,您必须使用
findViewById()
@TyMarc再次定义视图,我需要在哪里再次调用它?@user370305 Im使用
setContentView
转到我的第三个活动,它是另一个布局。我仍然没有得到该按钮开始工作所需的操作。@CássioBruzasco您应该阅读该按钮仍然不工作。我已经试过了,但我又试了一次,什么也没试过。还是不起作用。我已经试过了,但是我又试了一次,什么都没有。嗯,这很奇怪。你有什么错误吗?你到底是如何测试它是否工作的?试着像这样开始新的活动:Intent Intent=newintent(this,NewClass.class);背景。开始触觉(意图);我点击它,按钮周围有一个浅蓝色,这意味着它被点击了,没有任何事情发生。添加一个Log.d(“类名”,“我是一个工作按钮!”);在onClick中,只是想知道问题是否出在按钮上。我很确定问题出在调用新活动时,tho。我已经编辑了答案,请尝试一下,并告诉我它是否有效。:)嗯,真奇怪。你有什么错误吗?你到底是如何测试它是否工作的?试着像这样开始新的活动:Intent Intent=newintent(this,NewClass.class);背景。开始触觉(意图);我点击它,按钮周围有一个浅蓝色,这意味着它被点击了,没有任何事情发生。添加一个Log.d(“类名”,“我是一个工作按钮!”);在onClick中,只是想知道问题是否出在按钮上。我很确定问题出在调用新活动时,tho。我已经编辑了答案,请尝试一下,并告诉我它是否有效。:)