gpt4 book ai didi

Android:如何捕捉线性布局中任何按钮的点击?

转载 作者:行者123 更新时间:2023-11-29 20:16:05 24 4
gpt4 key购买 nike

我有以下布局:

<LinearLayout
android:id="@+id/group_button_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center"
android:layout_centerHorizontal="true">

<Button
android:id="@+id/group_button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:text="Week"/>

<Button
android:id="@+id/group_button_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:padding="0dp"
android:text="Month"/>

<Button
android:id="@+id/group_button_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:text="Quarter"/>

<Button
android:id="@+id/group_button_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:text="Half Year"/>
</LinearLayout>

我在这样的布局上创建了 onClickListener:

 private void initViews() {
mGroupedButtonLayout = (LinearLayout) findViewById(R.id.group_button_layout);
}

private void initListeners() {
mGroupedButtonLayout.setOnClickListener(mButtonGroupListener);
}

我认为点击按钮后会触发 onClick 事件:

private View.OnClickListener mButtonGroupListener = new View.OnClickListener() {
public void onClick(View v) {
Logger.d("Clicked");
Logger.d(String.valueOf(v.getId()));
// do something when the button is clicked
}
};

是否可以在每个按钮上捕获 onClick 事件而不需要为每个按钮创建监听器?

最佳答案

您可以为按钮设置 android:onClick 属性,并在您指向的方法中处理您的逻辑。

XML

<Button
android:id="@+id/group_button_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:text="Week"
android:onClick="doButtonClick"/>

Java

public void doButtonClick(View v) {
switch(v.getId()) {
case R.id.group_button_1:
//do whatever for this button
break;
default:
break;
}

关于Android:如何捕捉线性布局中任何按钮的点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33874574/

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