gpt4 book ai didi

android - 在首选项行中添加一个按钮

转载 作者:行者123 更新时间:2023-12-03 17:54:11 24 4
gpt4 key购买 nike

我想要一个按钮在我的设置屏幕上。这个确切的问题已被问到 here .但遗憾的是没有答案。 :(

enter image description here

为了达到这个目的,我创建了一个这样的自定义首选项 -

  public class CustomPreference extends Preference {

private LinearLayout mWidgetContainer;
private View mRowView;

public CustomPreference(Context context) {
super(context);
}

public CustomPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}

public CustomPreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

@Override
protected View onCreateView(ViewGroup parent) {
LayoutInflater viewInflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

mRowView = viewInflater.inflate(R.layout.preferences_row_view, parent, false);

mWidgetContainer = (LinearLayout) mRowView.findViewById(android.R.id.widget_frame);

Button button = new Button(getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

button.setLayoutParams(params);
button.setBackgroundResource(R.drawable.listview_row_bg);
button.setTextSize(14);
button.setPadding(5, 5, 5, 5);
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(getContext(), BuyScreenActivity.class);
getContext().startActivity(intent);
}
});
button.setTypeface(null, Typeface.BOLD);
button.setText("Buy now");
mWidgetContainer.addView(button);

return mRowView;
}
}

这确实有效。但它的行为很奇怪。正如您在单击该按钮时所看到的那样,我将用户带到名为 BuyScreenActivity 的 Activity 中。 .奇怪的是当我按下 BuyScreenActivity 时,我回到我的设置屏幕,但是 onDestroyonStopBuyScreenActivity根本没有被调用。为什么会这样?

如果我向下滚动设置屏幕, onStop & onDestroy然后将被调用。为什么必须这样做?

最佳答案

我不知道为什么会这样,但如果它困扰你,只需覆盖 BuyScreenActivity.java 中的 onBackPressed() :

@Override
public void onBackPressed() {
startActivity(new Intent(getContext(), SettingsACtivity.class));
}
请注意,我假设您只能通过设置进入 BuyScreen。
如果不是,那么很容易将前一个 Activity 的名称放入 Intent 数据中,然后将其切换到所需的 Activity 。

关于android - 在首选项行中添加一个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194944/

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