Java OrmLite使用适配器从listView获取值

Java OrmLite使用适配器从listView获取值,java,android,ormlite,Java,Android,Ormlite,当我想获得我按下的列表的名称时,我会得到com.example.oleksandr.dream.DB。DreamDetails@528f8a90“。如何从列表中获取字符串值?问题出在“onItemClick”方法中 public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener { private DBHelper mDbHelper = null; private Dr

当我想获得我按下的列表的名称时,我会得到com.example.oleksandr.dream.DB。DreamDetails@528f8a90“。如何从列表中获取字符串值?问题出在“onItemClick”方法中

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
private DBHelper mDbHelper = null;
private DreamDetails dreamDetails;
private ListView mListView;
private DrawerLayout drawerLayout;
private Toolbar mToolbar;
private Dao<DreamDetails, Integer> dreamDetailsDao;
private List<DreamDetails> dreamList;
private int selectedRecordPosition = -1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mListView = (ListView) findViewById(R.id.listViewAllDreams);
    try {
        //Getting all Data from DB
        dreamDetailsDao = getHelper().getDreamDetailsesDao();
        dreamList = dreamDetailsDao.queryForAll();

        // Set the header of the ListView
        final LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        final View view = inflater.inflate(R.layout.list_view, mListView, false);
        mListView.addHeaderView(view);

        // my own adapter!
        mListView.setAdapter(new AdapterArrayDream(this,R.layout.list_view,dreamList,dreamDetailsDao));
        mListView.setOnItemClickListener(this);

    } catch (SQLException e) {
        e.printStackTrace();
    }
    initToolbar();
    initNavigationView();
    FloatingActionButton myFab = (FloatingActionButton)findViewById(R.id.fab);
    myFab.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, NewDream.class);
            startActivity(intent);
        }
    });
}

@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
    if(i > 0)
    {
        selectedRecordPosition = i - 1;
       // final Intent intent = new Intent(this, ViewDream.class);
        Log.i("TAAAAAAG", "onClick " + adapterView.getItemAtPosition(selectedRecordPosition));
    //    intent.putExtra("D", String.valueOf(adapterView.getItemAtPosition(selectedRecordPosition)));
      //  startActivity(intent);
    }
}
private void initNavigationView() {
    drawerLayout = (DrawerLayout) findViewById(R.id.drawlerLayout);
}
private void initToolbar() {
    mToolbar = (Toolbar) findViewById(R.id.toolbar);
    mToolbar.setTitle(R.string.app_name);
    mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            return false;
        }
    });
  //  mToolbar.inflateMenu(R.menu.menu);
}

// This is how, DatabaseHelper can be initialized for future use



@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_list_dreams, menu);
    return true;
}

private DBHelper getHelper() {
    if (mDbHelper == null) {
        mDbHelper = OpenHelperManager.getHelper(this, DBHelper.class);
    }
    return mDbHelper;
}
公共类MainActivity扩展AppCompative实现AdapterView.OnItemClickListener{
私有DBHelper mDbHelper=null;
私人DreamDetails;
私有列表视图;
私人抽屉布局;
私有工具栏mToolbar;
私家道;
私人名单;
private int selectedRecordPosition=-1;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListView=(ListView)findViewById(R.id.listViewAllDreams);
试一试{
//从数据库获取所有数据
dreamDetailsDao=getHelper().GetDreamDetailsDao();
dreamList=dreamDetailsDao.queryForAll();
//设置ListView的标题
最终LayoutFlater充气器=(LayoutFlater)this.getSystemService(Context.LAYOUT\u充气器\u服务);
最终视图=充气机。充气(R.layout.list_视图,mListView,false);
mListView.addHeaderView(视图);
//我自己的适配器!
setAdapter(新的AdapterArrayDream(这个,R.layout.list_视图,dreamList,dreamDetailsDao));
mListView.setOnItemClickListener(此);
}捕获(SQLE异常){
e、 printStackTrace();
}
initToolbar();
initNavigationView();
FloatingActionButton myFab=(FloatingActionButton)findViewById(R.id.fab);
myFab.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
意向意向=新意向(MainActivity.this、NewDream.class);
星触觉(意向);
}
});
}
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
如果(i>0)
{
selectedRecordPosition=i-1;
//最终意图=新意图(这个,ViewDream.class);
Log.i(“taaaag”、“onClick”+adapterView.getItemAtPosition(selectedRecordPosition));
//intent.putExtra(“D”,String.valueOf(adapterView.getItemAtPosition(selectedRecordPosition));
//星触觉(意向);
}
}
私有void initNavigationView(){
抽屉布局=(抽屉布局)findViewById(R.id.drawlerLayout);
}
私有void initToolbar(){
mToolbar=(工具栏)findviewbyd(R.id.Toolbar);
mToolbar.setTitle(R.string.app_name);
mToolbar.setOnMenuItemClickListener(新工具栏.OnMenuItemClickListener(){
@凌驾
公共布尔onMenuItemClick(菜单项){
返回false;
}
});
//mToolbar.inflateMenu(R.menu.menu);
}
//这就是如何初始化DatabaseHelper以备将来使用
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.menu\u list\u dreams,menu);
返回true;
}
私有DBHelper getHelper(){
如果(mDbHelper==null){
mDbHelper=OpenHelperManager.getHelper(这个是DBHelper.class);
}
返回mDbHelper;
}

}

要创建一个按名称和密码查找帐户的查询,请执行以下操作:

QueryBuilder<Account, String> qb = accountDao.queryBuilder();
     Where where = qb.where();
     // the name field must be equal to "foo"
     where.eq(Account.NAME_FIELD_NAME, "foo");
     // and
     where.and();
     // the password field must be equal to "_secret"
     where.eq(Account.PASSWORD_FIELD_NAME, "_secret");
     PreparedQuery<Account, String> preparedQuery = qb.prepareQuery();
QueryBuilder qb=accountDao.QueryBuilder();
其中Where=qb.Where();
//名称字段必须等于“foo”
式中.eq(Account.NAME_FIELD_NAME,“foo”);
//及
where.and();
//密码字段必须等于“\u secret”
其中.eq(Account.PASSWORD\u FIELD\u NAME,“\u secret”);
PreparedQuery PreparedQuery=qb.prepareQuery();