gpt4 book ai didi

android - 如何使用 Activity 中的 "setPress"按钮?

转载 作者:行者123 更新时间:2023-11-29 19:13:32 25 4
gpt4 key购买 nike

我有一个像这样生成按钮的 fragment :

public class MyFragment extends Fragment {
LinearLayout lLayout;
MyInterface mInterface;

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
for (int j = 0; j < 2; j++) {
final Button btn = new Button(getActivity());
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tellActivityToPressButton(btn);
}
}
lLayout.addView(btn);
}
return lLayout;
}

public interface MyInterface {
void pressButton(Button button);
}

@Override
public void onAttach(Context activity) {
super.onAttach(activity);

try {
mInterface = (MyInterface) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() +
" must implement MyInterface");
}
}

public void tellActivityToPressButton(Button button) {
mInterface.pressButton(button);
}
}

我的 Activity 是:

public class Activity extends AppCompatActivity implements MyFragment.MyInterface {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_activity);
MyFragment frag = new MyFragment();
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.container, frag);
}
public void pressButton(Button button) {
button.setPressed(true);
}
}

当我尝试使用此代码并运行它时,创建的按钮在我单击它们时不会保持按下状态。为什么是这样?我知道我可以将 setPressed 方法移动到按钮的 onClick 方法中,但我想要它以便我从上面的 Activity 中调用 setPressed 方法并且按钮保持按下状态。我怎样才能做到这一点?或者是否有任何其他方法可以使 Activity 中的按钮保持按下状态?

最佳答案

可能是按钮被按下了,但它并没有像“按下按钮”那样显示出来你可以做的是添加选择器使按钮看起来被按下

例如,在您的可绘制对象中放置一个选择器文件

我的按钮选择器.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/light_orange" android:state_pressed="true"/>
<item android:drawable="@color/orange"/>
</selector>

像这样使用你的选择器

<Button
android:id="@+id/btn_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="how_it_works_button_title"
android:background="@drawable/my_button_selector" />

关于android - 如何使用 Activity 中的 "setPress"按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44386649/

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