gpt4 book ai didi

android - Android 中的 View.OnClickListener() 响应错误的按钮

转载 作者:太空狗 更新时间:2023-10-29 15:56:30 28 4
gpt4 key购买 nike

我在单击按钮时注册调用时遇到问题。

我有 2 个 EditText、1 个 Button 和 1 个 CheckBox。我想在按下按钮时调用 onClick() 函数。不幸的是,它只在按下 CheckBox 时发生,但它不是正确的 ID,所以我很困惑。

这是Java代码:

Button connect = (Button) findViewById(R.id.connectToServer);
connect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
....
}

如您所见,我查找 ID“connectToServer”。

这是我的 .xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:background="#ffb6b6b6"
android:textColor="#ffffffff" android:padding="2px" android:text="Settings" />
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:padding="13px">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:textSize="25px"
android:textColor="#ffffffff" android:text="Set server settings" />

<TableLayout android:layout_marginTop="10px"
android:stretchColumns="1" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableRow>
<TextView android:text="IP address:" />

<EditText android:id="@+id/serverIP" android:maxLength="15" />
</TableRow>

<TableRow>
<TextView android:layout_marginTop="4px" android:text="Port:" />
<EditText android:id="@+id/serverPort" android:maxLength="15" />
</TableRow>

</TableLayout>

<LinearLayout android:layout_width="fill_parent"
android:layout_marginTop="10px" android:orientation="horizontal"
android:layout_height="fill_parent" android:gravity="center">
<Button android:text="Connect" android:id="@+id/connectToServer"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
</LinearLayout>

<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:background="#ffb6b6b6"
android:textColor="#ffffffff" android:padding="2px"
android:layout_marginTop="10px" android:text="Availability" />
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:padding="13px">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:textSize="25px"
android:textColor="#ffffffff" android:text="Set device available" />

<TableLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_weight="1">
<TableRow>
<TextView android:layout_marginTop="10px"
android:layout_width="wrap_content" android:layout_height="fill_parent"
android:layout_weight="1"
android:text="Uncheck to disallow anyone from\nremotely connecting to the device." />
<CheckBox android:id="@+id/checkbox" android:gravity="right"
android:checked="true" android:layout_weight="1"
android:layout_width="wrap_content" android:layout_height="fill_parent" />
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>

我认为重要的一行是:

<Button android:text="Connect" android:id="@+id/connectToServer"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

但只有当 CheckBox 按钮被选中或未被选中时,代码才会被调用。我不确定这是为什么。

非常感谢!

最佳答案

试试这个,

Button connect = (Button) findViewById(R.id.connectToServer);


connect.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

}

});

关于android - Android 中的 View.OnClickListener() 响应错误的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7831814/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com