首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将数据从sqlite数据库并通过集合加载到旋转器中

将数据从sqlite数据库并通过集合加载到旋转器中
EN

Stack Overflow用户
提问于 2014-06-09 01:11:21
回答 2查看 821关注 0票数 0

我试图做的事情 ::我试图从cursorsqlite数据库获得的数据中填充Spinner

我所做的::我能够从sqlite中获取数据并将其存储在ArrayList<HashMap<String,String>>

问题::如何将数据从这个集合加载到我的旋转器

代码::

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     Spinner CitySpinner;

    private HashMap<String, String> objHashCityName;

    private ArrayList<HashMap<String, String>> objListCityName=null;

private void setDataForCity() {
        DatabaseHandler mHelper;
        SQLiteDatabase db = null;
        Cursor mCursor = null;
        try {
            mHelper = new DatabaseHandler(getActivity());
            db = mHelper.getReadableDatabase();
            mCursor = db.rawQuery("select city_name from "
                    + city_mas.TABLE_NAME_CITY_MAS, null);
            if(mCursor.moveToFirst()){
                do{
                    objHashCityName = new HashMap<String, String>();
                    objHashCityName.put("city_name", mCursor.getString(0));
                    //objHashBufType to array list (One row i each iteration)
                    objListCityName.add(objHashCityName);
                }while(mCursor.moveToNext());
                Log.d("", "");
            }
        } catch (Exception e) {
            e.printStackTrace();

        }finally{
            if(db!=null){
                if(db.isOpen()) db.close();
            }
            if(mCursor!=null){
                if(!mCursor.isClosed())mCursor.close();
            }
        }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-09 02:42:58

图片来源:仙女座

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class AndroidSpinnerFromSQLiteActivity extends Activity implements
        OnItemSelectedListener {

    // Spinner element
    Spinner spinner;

    // Add button
    Button btnAdd;

    // Input text
    EditText inputLabel;

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

        // Spinner element
        spinner = (Spinner) findViewById(R.id.spinner);

        // add button
        btnAdd = (Button) findViewById(R.id.btn_add);

        // new label input field
        inputLabel = (EditText) findViewById(R.id.input_label);

        // Spinner click listener
        spinner.setOnItemSelectedListener(this);

        // Loading spinner data from database
        loadSpinnerData();

        /**
         * Add new label button click listener
         * */
        btnAdd.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                String label = inputLabel.getText().toString();

                if (label.trim().length() > 0) {
                    // database handler
                    DatabaseHandler db = new DatabaseHandler(
                            getApplicationContext());

                    // inserting new label into database
                    db.insertLabel(label);

                    // making input filed text to blank
                    inputLabel.setText("");

                    // Hiding the keyboard
                    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(inputLabel.getWindowToken(), 0);

                    // loading spinner with newly added data
                    loadSpinnerData();
                } else {
                    Toast.makeText(getApplicationContext(), "Please enter label name",
                            Toast.LENGTH_SHORT).show();
                }

            }
        });
    }

    /**
     * Function to load the spinner data from SQLite database
     * */
    private void loadSpinnerData() {
        // database handler
        DatabaseHandler db = new DatabaseHandler(getApplicationContext());

        // Spinner Drop down elements
        List<String> lables = db.getAllLabels();

        // Creating adapter for spinner
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, lables);

        // Drop down layout style - list view with radio button
        dataAdapter
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // attaching data adapter to spinner
        spinner.setAdapter(dataAdapter);
    }

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position,
            long id) {
        // On selecting a spinner item
        String label = parent.getItemAtPosition(position).toString();

        // Showing selected spinner item
        Toast.makeText(parent.getContext(), "You selected: " + label,
                Toast.LENGTH_LONG).show();

    }

    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub

    }
}

完整的教程可从雄激素母细胞获得

票数 0
EN

Stack Overflow用户

发布于 2014-06-09 02:53:21

--我就是这样解析这个的::

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private void setDataForCity() {
        DatabaseHandler mHelper;
        SQLiteDatabase db = null;
        Cursor mCursor = null;
        List<String> objCitySpinner;

        try {
            objCitySpinner=new ArrayList<String>();
            mHelper = new DatabaseHandler(getActivity());
            db = mHelper.getReadableDatabase();
            mCursor = db.rawQuery("select city_name from "
                    + city_mas.TABLE_NAME_CITY_MAS, null);

            //First city in the spinner must always should be current city
            objCitySpinner.add(AppController.currentCity);

            if(mCursor.moveToFirst()){
                do{
                    objCitySpinner.add(mCursor.getString(0));
                    //objHashBufType to list (One row i each iteration)
                }while(mCursor.moveToNext());
                Log.d("", "");
            }
            //I am using ArrayAdapter to populate the data to the spinner
            ArrayAdapter<String> spinCityAdapt = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_dropdown_item, objCitySpinner);
            CitySpinner.setAdapter(spinCityAdapt);
        } catch (Exception e) {
            e.printStackTrace();

        }finally{
            if(db!=null){
                if(db.isOpen()) db.close();
            }
            if(mCursor!=null){
                if(!mCursor.isClosed())mCursor.close();
            }
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24117051

复制
相关文章
使用awk打印文件中的字段和列
Awk 自动将提供给它的输入行划分为字段,一个字段可以定义为一组字符,这些字符通过内部字段分隔符与其他字段分开。 如果你熟悉 Unix/Linux 或者做bash shell 编程,那么你应该知道什么是内部字段分隔符 (IFS) 变量是。Awk 中的默认 IFS 是制表符和空格。 Awk: 遇到输入行时,根据定义的IFS,第一组字符为field one,访问时使用 1,第二组字符是字段二,使用访问 2,第三组字符是字段三,使用访问 为了更好地理解这个 awk 字段编辑,让我们看看下面的例子: Exampl
入门笔记
2022/06/02
10K0
习题 9: 打印,打印,打印
Here are the days: Mon Tue Wed Thu Fri Sat Sun Here are the months: Jan Feb Mar Apr May Jun Jul Aug
hankleo
2020/09/16
1.5K0
习题9:打印打印打印
Here are the days: Mon Tue Wed Thu Fri Sat Sun Here are the months: Jan Feb Mar Apr May Jun Jul Aug There's something going on here. With the three double-quotes.
py3study
2018/08/02
1.5K0
习题 8: 打印,打印
1 2 3 4 'one' 'two' 'three' 'four' True False False True '%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r' 'I had this thing.' 'That you could type up right.' "But it didn't sing." 'So I said goodnight.'
hankleo
2020/09/16
9820
习题8:打印,打印
1 2 3 4 one two three four True False False True {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} I had this thing. That you could type up right. But it didn't sing. So I said goodnight.
py3study
2018/08/02
7860
web调用打印机自动打印_网页打印如何设置默认打印机
1. 前言 客户对于一些插件比较敏感,如金融、银行等出于安全的考虑和产品的把控,可能不愿意页面打印的时候,客户端浏览器安装插件。(当然,用户有各种各样的需求和打印格式要求,愿意使用打印控件的,开发的打印功能当然很好。) 所以直接使用浏览器自带的打印功能,就成为一个选择。
全栈程序员站长
2022/11/18
6.4K0
用递归打印反向打印链表
之前我们说明过递归的写法 1.列出两数关系公式 2.找出退出条件 要遍历必然有x=x->link; 退出条件是当link=NULL ,相信对你聪明的你来说这很容易理解。 递归代码
用户7272142
2023/10/11
1690
用递归打印反向打印链表
html如何打印_html打印代码
通常在浏览网页的时候,网页上总是出现一些和内容无关的内容,在打印的时候,要是把整个网页都打印下来,总会有些不方便。。。所以在有需要打印的网页上稍微设置一下打印页是很有必要的。。。
全栈程序员站长
2022/09/22
12.6K0
awk 列求和计算
说明: [分隔符]:一般为“\t”制表符,具体视格式而定 [列数]:统计的列数索引,从1开始
莫斯
2020/09/10
1.5K0
打印部分表格(Lodop打印) 原
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
1.7K0
java链表打印_java链表打印
public static void main(String[] args) {
全栈程序员站长
2022/08/20
1.9K0
用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
全栈程序员站长
2022/07/09
1.7K0
打印菱形Java_for循环打印菱形
1、星号前面的空白要用空格代替。 2、把图形分为上下两部分,分别找出行数与“空格”和“*”的关系
全栈程序员站长
2022/11/11
3K0
打印菱形Java_for循环打印菱形
java打印菱形代码_打印空心菱形
语法格式 for(①初始化部分;②循环条件部分;④迭代部分){ ③循环体部分; }
全栈程序员站长
2022/11/10
2.6K0
java打印菱形代码_打印空心菱形
打印标签时如何解决打印偏移
我们在打印标签时,使用的纸张一般都是不干胶卷纸,这样的卷纸又有单排、双排、三排和四排的规格。这些不同规格的标签纸在条码打印中经常会出现打印偏移的问题,甚至会跳纸,遇到这样的情况该如何调整呢?小编下面详细介绍。
神奇像素科技
2021/11/24
2.3K0
打印标签时如何解决打印偏移
三、python调用打印机,打印文字
参考文章: Tim Golden Python Stuff http://timgolden.me.uk/python/win32_how_do_i/print.html
py3study
2020/01/08
3.9K0
[python]打印对齐
#  %d、%f是占位符 >>> a = 3.1415926 >>> print("%d"%a)    #%d只能输出整数,int类 3 >>> print("%f"%a)  #%f输出浮点数 3.141593 >>> print("%.2f"%a) #按照要求输出小数位数 3.14 >>> print("%.9f"%a)  #如果要求的小数位数过多,后面就用0补全 3.141592600
py3study
2020/01/09
1.9K0
打印流
原有System.out.println 现改为PrintStream类型的实例.println以完成输出到文件
shimeath
2020/07/30
5610
点击加载更多

相似问题

如果与awk匹配,则在awk中打印列,如果不匹配,则仍打印行(不打印该列)。

12

如果匹配,则使用新值的AWK打印字段,否则打印行

14

如果与regex匹配,则使用awk打印列。

14

如果不匹配,则Awk打印

32

awk:如果行以do某事开头,否则打印

350
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文