美文网首页
Android-Spinner简单使用

Android-Spinner简单使用

作者: 见哥哥长高了 | 来源:发表于2019-07-10 10:56 被阅读0次

我们要实现的一个效果是:菜单展示,菜单中数据的添加与删除操作。
具体用法与逻辑如下:

main.xml文件中加入两个按钮,一个文本输入框

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/button_01"
            android:text="添加一个"/>

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/button_02"
            android:text="删除一个"/>

        <Spinner
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/my_spinner"/>

另外创建两个xml布局文件,分别为:item.xml和drop_down_item, 设置Root elments为TextView用来显示菜单中的item。

MainActivity.class类中:

public class MainActivity extends AppCompatActivity {


    private TextView textview;
    private EditText editText;
    private Button addButton;
    private Button deletButton;
    private Spinner spinner;
    private static final String[] countiersStr = {
            "张三",
            "李四",
            "王五",
            "赵六"
    };
    private ArrayAdapter<String> adapter;
    private List<String> allCountries;

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

        allCountries = new ArrayList<String>();

        for (int i = 0; i < countiersStr.length;i++ ){

            allCountries.add(countiersStr[i]);
        }

        adapter = new ArrayAdapter<String>(this,R.layout.item,allCountries);
        adapter.setDropDownViewResource(R.layout.drop_down_item);

        addButton = (Button)findViewById(R.id.button_01);
        deletButton = (Button)findViewById(R.id.button_02);
        spinner = (Spinner)findViewById(R.id.my_spinner);
        textview = (TextView)findViewById(R.id.text_view01);
        editText = (EditText) findViewById(R.id.edit_text);

        spinner.setAdapter(adapter);

        addButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String newCountry = editText.getText().toString();

                for (int i = 0; i < adapter.getCount();i++){
                    if (newCountry.equals(adapter.getItem(i))){
                        return;
                    }
                }

                if (!newCountry.equals("")){

                    adapter.add(newCountry);

                    int position = adapter.getPosition(newCountry);

                    spinner.setSelection(position);

                    editText.setText("");
                }
            }
        });


        deletButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                //删除值
                adapter.remove(spinner.getSelectedItem().toString());

                //清除EditText中的内容
                editText.setText("");

                if (adapter.getCount() == 0){
                    //清除TextView中的内容
                    textview.setText("");
                }
            }
        });


        spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){

            public void onItemSelected(AdapterView<?> var1, View var2, int var3, long var4){

                textview.setText(var1.getSelectedItem().toString());
            }

            public void onNothingSelected(AdapterView<?> var1){

            }
        });
    }
}

相关文章

  • Android-Spinner简单使用

    我们要实现的一个效果是:菜单展示,菜单中数据的添加与删除操作。具体用法与逻辑如下: main.xml文件中加入两个...

  • 简单使用

    创建模型 过滤器 我们有一些字段和我们想让用户筛选的基础上 名称、价格或release_date。 我们创建一个 ...

  • gorange

    数组中简单使用 map中简单使用

  • 简单使用使用kaggle

    向我这样的条件不好的可以考虑借助云gpu来加速训练,借助kaggle可以在kaggle服务器上训练数据,kaggl...

  • 零碎的小程序笔记

    目录 template的简单使用WXS的简单使用npm的简单使用倒计时js的实现wx:for的使用一些js方法记录...

  • 命令行的简单使用

    Git命令行的简单使用,仅供自己使用 pod命令行的简单使用

  • 单元测试和OCMock

    OCMock使用一、安装及简单使用:使用Cocoapod引入:pod 'OCMock' 简单使用:新建一个单元测试...

  • Alamofire类似AFNetworking的简单使用和封装

    简单的使用。简单的使用。简单的使用。注定该文弱鸡一个,求拍砖。 一、介绍 Alamofire(Swift)的前身是...

  • Android ViewPager 使用总结

    ViewPager 简单使用 ViewPager + PagerAdapter简单的 View 可以使用这个实现,...

  • vuex简单简单使用记录

    1、Vuex有啥用(非官方解释)举例,组件a b 使用了同一个数据源count,当操作a的时候count++,同时...

网友评论

      本文标题:Android-Spinner简单使用

      本文链接:https://www.haomeiwen.com/subject/nxuckctx.html