gpt4 book ai didi

android - 如何知道 Spinner 是否显示或不再显示

转载 作者:行者123 更新时间:2023-11-30 03:53:08 24 4
gpt4 key购买 nike

是否有回调/方法可用于判断是否显示了 Spinner?是否有回调/方法可用于判断 Spinner 何时不再显示?

setOnItemSelectedListener/onItemSelected 在从列表中选择一个项目时被调用 - 但是当列表被删除时是否有任何方法/回调,因为用户触摸到列表之外?

最佳答案

您可以通过创建自定义微调器来获取它,

创建布局后,您应该在布局中使用它,

//com.talha.examples 为包名

mySpinner.java

package com.talha.examples;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Spinner;
import android.widget.Toast;

public class mySpinner extends Spinner {
Context context;

public mySpinner(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
}

@Override
protected void onVisibilityChanged(View changedView, int visibility) {
super.onVisibilityChanged(changedView, visibility);

if(visibility == View.VISIBLE)
Toast.makeText(this.context, "VISIBLE NOW", 1000).show();

if(visibility == View.GONE)
Toast.makeText(this.context, "HAS GONE", 1000).show();
}
}

activity_main_spinner.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<com.talha.examples.mySpinner
android:id="@+id/mySpinner"
android:layout_width="fill_parent"
android:layout_height="300dp"
android:background="#ffffaa" >

</com.talha.examples.mySpinner>

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/mySpinner"
android:text="Button" />

</RelativeLayout>

主 Activity .java

导入android.app.Activity;导入 android.os.Bundle;导入 android.view.View;导入 android.view.View.OnClickListener;导入 android.widget.Button;

公共(public)类 MainActivity 扩展 Activity { 按钮按钮; com.talha.examples.mySpinner mySpinner;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_spinner);

mySpinner = (com.talha.examples.mySpinner) findViewById(R.id.mySpinner);
button = (Button) findViewById(R.id.button1);

button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (mySpinner.getVisibility() == View.VISIBLE) {
mySpinner.setVisibility(View.GONE);
} else {
mySpinner.setVisibility(View.VISIBLE);
}
}
});

}

关于android - 如何知道 Spinner 是否显示或不再显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13819425/

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