gpt4 book ai didi

android - 在 Spinner 外部单击关闭 Spinner

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:28:43 26 4
gpt4 key购买 nike

我想在点击微调器外部后关闭 Android 微调器。这可能吗?

最佳答案

我在这方面运气不错,即使它不能完全奏效。

Spinner 适配器的获取 View :

public View getView(int position, View v, ViewGroup parent) {
if (v == null) {
LayoutInflater mLayoutInflater = mActivity.getLayoutInflater();
v = mLayoutInflater.inflate(R.layout.user_row, null);
}

View tempParent = (View) parent.getParent().getParent().getParent();
tempParent.setOnTouchListener(new MyOnTouchListener(mActivity));
mActivity.setOpen(true);

User getUser = mUsers.get(position);
return v;
}

ontouch 监听器:

public class MyOnTouchListener implements OnTouchListener{
private MyActivity mOverall;
public MyTouchListener(MyActivity overall) {
mOverall = overall;
}

public boolean onTouch(View v, MotionEvent event) {
if (mOverall.getOpen()) {
mOverall.getWindow().setContentView(R.layout.main); //reset your activity screen
mOverall.initMainLayout(); //reset any code. most likely what's in your oncreate
}
return false;
}
}

项目选择监听器:

public class MySelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long id) {
setUser(pos); //or whatever you want to do when the item is selected
setOpen(false);
}
public void onNothingSelected(AdapterView<?> parent) {}
}

Activity

你的微调器 Activity 应该有一个全局变量 mOpen 和 get 和 set 方法。这是因为即使在列表关闭后,ontouch 监听器也往往会保持打开状态。

该方法的局限性:

如果您触摸微调器和选项之间或选项的一侧,它会关闭。触摸微调器上方和选项下方仍然不会将其关闭。

关于android - 在 Spinner 外部单击关闭 Spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7415970/

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