【问题标题】:Adding values to array from the Multiautocomplete in android从android中的Multiautocomplete向数组添加值
【发布时间】:2016-07-20 05:10:39
【问题描述】:

我如何使用 MultiAutoCompleteTextView 从用户那里获取多个条目,以便将每个条目添加到单独的字符串中,并且每个字符串都应该存储在字符串数组中。

【问题讨论】:

    标签: android arrays arraylist multiautocompletetextview


    【解决方案1】:

    @威廉·威利

    查看下方

    您需要使用split() 方法,因为我们将CommaTokenizer() 用于我们的MultiAutoCompleteTextView

    所以你的布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <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"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="iifl.animesh.cuser.progressbarexample.MainActivity">
    
        <MultiAutoCompleteTextView
            android:id="@+id/multitoken"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    
        <Button
            android:id="@+id/submit"
            android:layout_below="@+id/multitoken"
            android:text="Submit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    
    
    </RelativeLayout>
    

    在你的 mainActivity 中

    public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    
        private MultiAutoCompleteTextView multiAutoCompleteTextView;
    
        // your array for the autocomplete
    
        private static final String[] COUNTRIES = new String[] {
                "India","Belgium", "France", "Italy", "Germany", "Spain","USA","China"
        };
    
        private Button mbutton;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            multiAutoCompleteTextView = (MultiAutoCompleteTextView) findViewById(R.id.multitoken);
            mbutton = (Button) findViewById(R.id.submit);
    
            // setting listener for button
            mbutton.setOnClickListener(this);
    
            //setting adapter for multiAutoCompleteTextView
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_dropdown_item_1line, COUNTRIES);
            multiAutoCompleteTextView.setAdapter(adapter);
            multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    
    
        }
    
        @Override
        public void onClick(View view) {
            String text = multiAutoCompleteTextView.getText().toString();
    
            if(text != null && text.length() >0) {
                text = text.substring(0, text.length() - 1);
            String countries[] = text.split(",");  // countries array will have all the countries entered in multiAutoCompleteTextView
    
            for(String s : countries) {
                Toast.makeText(this,"Countries are = "+s,Toast.LENGTH_SHORT).show();
            }
            }
            else {
               Toast.makeText(this,"Please enter text",Toast.LENGTH_SHORT).show();
           }
    
        }
    }
    

    我希望这会有所帮助

    【讨论】:

    • 这对我很有帮助,谢谢。你能告诉我如何将这个数组的值一一插入到Mysql数据库中吗?例如:如果用户首先输入“India”,然后输入“Italy”,那么 MySql 条目必须在第一行使用 India,然后在下一行使用 Italy。
    • @WilliamWilli mysql 在远程服务器上的含义或您谈论的是 sql Lite 的本地数据库
    • 远程服务器,如果你有代码,请与我分享。谢谢你
    • @WilliamWilli 抱歉,伙计没有您想要的代码,但您可以使用 android 的 AsyncTask 概念简单地做到这一点。请在线查看,您将获得很多很好的 AsyncTask 示例,您可以在其中从 android 应用程序向远程服务器发送数据
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 2010-09-17
    相关资源
    最近更新 更多