gpt4 book ai didi

android - 当我们点击android中的按钮时如何显示Spinner-List?

转载 作者:行者123 更新时间:2023-12-01 07:36:09 32 4
gpt4 key购买 nike

嗨,我最近接触了 android 技术,在我的应用程序中我有两个按钮(一个用于显示电影列表,另一个用于显示国家列表)

当我点击第二个按钮时,我想在微调器列表中显示电影列表,如下面的第一张图片所示。

但是根据我的代码,当我点击按钮时,第一个微调器出现了,我选择了任何一个项目并将其设置为我的按钮标题,但在选择微调器后仍然可见 B/w 两个按钮,就像我的第二个屏幕一样,如何删除它。

我该如何解决这个问题?

请帮我。

当我点击按钮时,我想直接显示微调器列表。

xml:-

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:id="@+id/parentLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="Button1Action"
android:text="CountiesList"/>

<Spinner
android:visibility="gone"
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/mainLayout"
android:layout_alignParentRight="true"
android:paddingRight="0dp"
android:layout_marginTop="5dp"
/>

<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="Button2Action"
android:text="MoviesList"/>

<Spinner
android:visibility="gone"
android:id="@+id/spinner2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/mainLayout"
android:layout_alignParentRight="true"
android:paddingRight="0dp"
android:layout_marginTop="5dp"
/>

</LinearLayout>

Activity :-
public class spinnerListProgramatically extends AppCompatActivity{

String [] countriesList = {"india","usa","england"
};

String [] moviesList = {"fury","300 rise of an empire","troy"
};
Spinner spinner1,spinner2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.spinnerlist_runtime);
}

public void Button1Action(View view){

spinner1 = (Spinner)findViewById(R.id.spinner1);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, countriesList);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(dataAdapter);
spinner1.setVisibility(View.VISIBLE);
}

public void Button2Action(View view){

spinner2 = (Spinner)findViewById(R.id.spinner2);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, moviesList);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(dataAdapter);
spinner2.setVisibility(View.VISIBLE);
}
}

enter image description here

--- enter image description here

最佳答案

为什么不删除 Spinner并且只有一个 Button反而。拥有 SpinnerButton两者,没有意义。

根据您显示的图像,您需要 PopupMenu :

public void Button2Action(View view){
showFilterPopup(view);
}

private void showPopup(View v) {
PopupMenu popup = new PopupMenu(this, v);
// Inflate the menu from xml
popup.getMenuInflater().inflate(R.menu.popup, popup.getMenu());
// Setup menu item selection
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.troy:
Toast.makeText(MainActivity.this, "troy", Toast.LENGTH_SHORT).show();
return true;
case R.id.rise:
Toast.makeText(MainActivity.this, "300 Rise of Empire", Toast.LENGTH_SHORT).show();
return true;
default:
return false;
}
}
});
// Handle dismissal with: popup.setOnDismissListener(...);
// Show the menu
popup.show();
}

您的 R.menu.popup将包含您需要的所有项目。

当您拥有一组静态数据时,此方法将很有用。

只需几个步骤,您就可以使其动态化。希望这可以帮助。

关于android - 当我们点击android中的按钮时如何显示Spinner-List?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36123746/

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