Gridview图像给出sqlite数据

时间:2013-08-26 11:17:03

标签: android android-sqlite android-gridview

当我点击gridview图像时,我一直试图找到可以帮助我检索SQLite数据库行的东西!就像当我点击新活动上的第一个图像时,它会向我显示与该图像相关的一些数据,这些数据保存在数据库中。

@Override
public void onClick(View v) {
  // TODO Auto-generated method stub
  Intent intent = new Intent(mContext,HeroData.class);
  intent.putExtra("imageID", mThumbIds[position]);
  mContext.startActivity(intent);
}

这就是我开始一个新活动并放置我点击的图像的方式,现在我需要知道如何获得一个SQL数据库行,其中包含一些与该图像相关的数据。

public Cursor getTestData() 
 { 
     try 
     { 
         String sql ="SELECT * FROM Heroes"; 

         Cursor mCur = mDb.rawQuery(sql, null); 
         if (mCur!=null) 
         { 
            mCur.moveToNext(); 
         } 
         return mCur; 
     } 
     catch (SQLException mSQLException)  
     { 
         Log.e(TAG, "getTestData >>"+ mSQLException.toString()); 
         throw mSQLException; 
     } 
 }

以上是获取所有数据的光标,但我只想要一行。

2 个答案:

答案 0 :(得分:0)

试试这个::

为您的图片代码添加ID行。如果您有10张图片,那么您必须为图片添加标签,如

imageView.SetTag(行的ID); //行号对于所有行都是唯一的。

现在,当您单击Image时,将该图像的标记传递给intent。并且在接收intent时获取标记并将查询激发到sql以获取该特定行id的数据,如:

String sql ="SELECT * FROM Heroes where ID = "+TagID;

希望它能帮助!!

答案 1 :(得分:0)

您可以将您的图像位置传递到下一个活动...然后将该图像位置传递到您选择查询的位置,将显示该图像的相关数据......

所以试试这个:

String sqlString ="SELECT * FROM Heroes where id = "+position;