Android SCA到Listview,OnClickListener未获取光标的字符串值

Android SCA到Listview,OnClickListener未获取光标的字符串值,android,listview,Android,Listview,我需要这里的帮助,我在ListView中获得了一个SCA,但是当我在ListView上应用OnClickListener获取字符串值时,它显示了文本,而不是我的ListView android.database.sqlite上的实际文本。SQLiteCursor@2915f605. 下面是显示ListView的Java文件 package com.example.jello.letscook; import android.database.Cursor; import android

我需要这里的帮助,我在ListView中获得了一个SCA,但是当我在ListView上应用OnClickListener获取字符串值时,它显示了文本,而不是我的ListView android.database.sqlite上的实际文本。SQLiteCursor@2915f605.

下面是显示ListView的Java文件

    package com.example.jello.letscook;

import android.database.Cursor;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
import android.widget.Toast;

import java.util.List;

public class showmenu extends AppCompatActivity {
    DatabaseHelper myDb;
    Spinner mainIng;
    EditText sub1,sub2,sub3,sub4,sub5,sub6;
    CheckBox Cb_Ar,Cb_Db,Cb_Hb;
    String toPass="";
    ListView myList;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_showmenu);
        myDb = new DatabaseHelper(this);

         sub1 = (EditText) findViewById(R.id.sub1);
         sub2 = (EditText) findViewById(R.id.sub2);
         sub3 = (EditText) findViewById(R.id.sub3);
         sub4 = (EditText) findViewById(R.id.sub4);
         sub5 = (EditText) findViewById(R.id.sub5);
         sub6 = (EditText) findViewById(R.id.sub6);
        Cb_Ar = (CheckBox) findViewById(R.id.check1);
        Cb_Db = (CheckBox) findViewById(R.id.check2);
        Cb_Hb = (CheckBox) findViewById(R.id.check3);
        myList = (ListView) findViewById(R.id.selectView);

            myDb.insertHB(true);
            myDb.inert_Arth(true);
            myDb.inert_Dia(true);
        myDb.checkData(StartingScreen.gettingCheckBox());

        showList();

    }

    public void showList() {

        String toPass;
        toPass = StartingScreen.gettingCheckBox();
        Cursor cursor = myDb.getData(toPass);
        String[] fromField = new String[] {DatabaseHelper.RECIPE_NAME};
        int[] toView = new int[] {R.id.textViewMenuSuggest};
        SimpleCursorAdapter myCursorAdapter;
        myCursorAdapter = new SimpleCursorAdapter(this,R.layout.menushow,cursor,fromField,toView,0);
        myList.setAdapter(myCursorAdapter);

        myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {

                int itemPos = position;
                Cursor listValue = (Cursor) myList.getItemAtPosition(itemPos);
                Toast.makeText(showmenu.this, "" + listValue, Toast.LENGTH_LONG).show();

            }
        });

    }
}
package com.example.jello.letscook;
导入android.database.Cursor;
导入android.os.Bundle;
导入android.support.design.widget.FloatingActionButton;
导入android.support.design.widget.Snackbar;
导入android.support.v7.app.AppActivity;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.CheckBox;
导入android.widget.EditText;
导入android.widget.ListView;
导入android.widget.SimpleCursorAdapter;
导入android.widget.Spinner;
导入android.widget.Toast;
导入java.util.List;
公共类showmenu扩展了AppCompatActivity{
数据库助手myDb;
纺纱机维护;
编辑文本sub1、sub2、sub3、sub4、sub5、sub6;
复选框Cb_Ar、Cb_Db、Cb_Hb;
字符串toPass=“”;
列表视图myList;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u showmenu);
myDb=新数据库助手(此);
sub1=(EditText)findViewById(R.id.sub1);
sub2=(EditText)findViewById(R.id.sub2);
sub3=(EditText)findViewById(R.id.sub3);
sub4=(EditText)findViewById(R.id.sub4);
sub5=(EditText)findViewById(R.id.sub5);
sub6=(EditText)findViewById(R.id.sub6);
Cb_Ar=(复选框)findviewbyd(R.id.check1);
Cb_Db=(复选框)findviewbyd(R.id.check2);
Cb_Hb=(复选框)findviewbyd(R.id.check3);
myList=(ListView)findViewById(R.id.selectView);
myDb.insertHB(真);
myDb.惰性地球(真实);
myDb.惰性气体直径(真实);
myDb.checkData(StartingScreen.gettingCheckBox());
showList();
}
公开作废展示清单(){
串珠;
toPass=StartingScreen.gettingCheckBox();
Cursor=myDb.getData(toPass);
String[]fromField=新字符串[]{DatabaseHelper.RECIPE_NAME};
int[]toView=newint[]{R.id.textViewMenusgest};
SimpleCursorAdapter myCursorAdapter;
myCursorAdapter=新的SimpleCorsorAdapter(this,R.layout.menushow,cursor,fromField,toView,0);
设置适配器(myCursorAdapter);
myList.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
int itemPos=位置;
游标listValue=(游标)myList.getItemAtPosition(itemPos);
Toast.makeText(showmenu.this,“+listValue,Toast.LENGTH_LONG.show();
}
});
}
}
以下是我的XML布局:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:layout_height="wrap_content">
    />

    <TextView
        android:layout_marginTop="50dp"
        android:text="Menu to Cook:"
        android:id="@+id/lala"
        android:layout_width="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_height="wrap_content"/>

    <ListView android:id="@+id/selectView"
        android:layout_marginTop="50dp"
        android:layout_weight="1"
        android:layout_height="0dp"
        android:layout_width="wrap_content"/>

</LinearLayout> 

/>

我认为您的错误来自Crusor,因为您没有正确解析数据库中的值。。在声明
Cursor
放这条线

 String someData=listValue .getString(listValue .getColumnIndex(DbHelper.KEY_COL)); 

DbHelper
是您的数据库变量,
KEY\u COL
是您获取所需数据的列。希望能提供帮助

我认为您的错误来自Crusor,因为您没有正确解析数据库中的值。。在声明
Cursor
放这条线

 String someData=listValue .getString(listValue .getColumnIndex(DbHelper.KEY_COL)); 

DbHelper
是您的数据库变量,
KEY\u COL
是您获取所需数据的列。希望能提供帮助

我认为您的错误来自Crusor,因为您没有正确解析DB中的值。。在声明游标字符串col=listValue.getString(listValue.getColumnIndex(DbHelper.KEY_col))之后,是否可以尝试类似的方法;字符串后的列出错。嗯,你是否用变量替换了DBHelper和KEY_col?准备好了,并且成功了:)谢谢你的帮助:)如果你愿意,我可以作为答案,你可以接受吗?当然,如果我的助手能帮助你的话!我认为您的错误来自Crusor,因为您没有正确解析DB中的值。。在声明游标字符串col=listValue.getString(listValue.getColumnIndex(DbHelper.KEY_col))之后,是否可以尝试类似的方法;字符串后的列出错。嗯,你是否用变量替换了DBHelper和KEY_col?准备好了,并且成功了:)谢谢你的帮助:)如果你愿意,我可以作为答案,你可以接受吗?当然,如果我的助手能帮助你的话!