Android SCA到Listview,OnClickListener未获取光标的字符串值
我需要这里的帮助,我在ListView中获得了一个SCA,但是当我在ListView上应用OnClickListener获取字符串值时,它显示了文本,而不是我的ListView android.database.sqlite上的实际文本。SQLiteCursor@2915f605. 下面是显示ListView的Java文件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
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?准备好了,并且成功了:)谢谢你的帮助:)如果你愿意,我可以作为答案,你可以接受吗?当然,如果我的助手能帮助你的话!