在数据库表中存储选定微调器项-Android

在数据库表中存储选定微调器项-Android,android,sqlite,cursor,spinner,Android,Sqlite,Cursor,Spinner,所以我的情况是这样的。我有两张桌子。使用表单添加数据的主表,此表单有一个微调器,由第二个表供电(此部分工作正常)。然后,我希望微调器中的选定项存储在主表中的foreignkey字段中 我一直在使用以下代码: private Spinner mSpinner; mSpinner = (Spinner) findViewById(R.id.spinCat); 在我的“填充字段”方法中,我有以下内容: mSpinner.getSelectedItem(); 但它存储的内容类似于“androi

所以我的情况是这样的。我有两张桌子。使用表单添加数据的主表,此表单有一个微调器,由第二个表供电(此部分工作正常)。然后,我希望微调器中的选定项存储在主表中的foreignkey字段中

我一直在使用以下代码:

private Spinner mSpinner;

mSpinner = (Spinner) findViewById(R.id.spinCat);
在我的“填充字段”方法中,我有以下内容:

  mSpinner.getSelectedItem();
但它存储的内容类似于“android.database.sqlite”。SQLiteCursor@43e5be60“输入到数据库中,而不是名称

如果有人能提供一些帮助,那就太好了,这已经困扰了我好几天了,并且在某种程度上停止了开发。如果您需要查看更多代码,请随时询问

非常感谢您的帮助

编辑:新代码:

            mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View vw,
                    int pos, long id) {
                LinearLayout rowll = (LinearLayout) vw;
                TextView test = (TextView) rowll.getChildAt(0);
                Toast t = Toast.makeText(parent.getContext(), test
                        .getText().toString(), Toast.LENGTH_SHORT);
                t.show();

            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // Do nothing..
            }
        });
mSpinner.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父对象、视图vw、,
内部位置,长id){
LinearLayout rowll=(LinearLayout)大众汽车;
TextView测试=(TextView)rowl.getChildAt(0);
Toast t=Toast.makeText(parent.getContext(),test
.getText().toString(),Toast.LENGTH\u SHORT);
t、 show();
}
@凌驾
未选择公共无效(AdapterView arg0){
//什么也不做。。
}
});

getSelectedItem
返回一个
对象
(这是您的输出非常类似的)

你有没有试着这样简单地打电话给toString

mSpinner.getSelectedItem().toString();
我个人只是在MSelected侦听器中设置了一个变量,但这应该也可以。我使用的是:

        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long id) {
            myIP = parent.getItemAtPosition(position).toString();
        }
getString(int columnIndex)
does:以字符串形式返回请求列的值


不要使用.getChildAt(),而要使用.getItemAtPositon()。查看代码是如何完成的。

您是如何使用字符串数组或其他方法在微调器中列出值的?这些值是从数据库表中获取的,使用游标和方法获取要填充微调器的所有信息。这将覆盖什么?为我的愚蠢感到抱歉-当涉及到java/android时,我仍在学习诀窍-感谢迄今为止的帮助!编辑:添加到字符串会导致同样的问题。嗯……你还在处理光标吗?您是否做过任何事情来从游标中提取值?我真的不知道你到底走了多远,所以也不知道该去哪里帮助你。微调器中的数据是否正确显示?我想我误解了你有多远。是的,微调器是填充好的-我会把这方面的代码放在我的主要帖子中。特别是你处理光标代码的部分现在被添加了,如果需要进一步的,请告诉我-非常感谢你的帮助。
    while (cursor.moveToNext()) {
        ipList.add(cursor.getString(1));
    }