0

我的应用程序的目标是显示从 SQLite 数据库中提取的模块列表。如果用户点击一个特定模块,一个新的活动就会开始,它会提供存储在数据库中与该特定模块相关的更多信息。

我希望做的是获取行 ID 并将其发送到意图但是,我不确定如何将行 ID 从光标适配器获取到 onClickListItem?任何建议将不胜感激。

光标适配器

public class TestCursorAdapter extends CursorAdapter {

    private LayoutInflater viewInflater;
    public TestCursorAdapter(Context context, Cursor c, int flags) {
        super(context, c, flags);
        // TODO Auto-generated constructor stub
        viewInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public void bindView(View v, Context context, Cursor c) 
    {
        TextView text_modulecode = (TextView)v.findViewById(R.id.labelModuleCode);
        TextView text_modulename = (TextView)v.findViewById(R.id.labelModuleName);

        text_modulecode.setText(c.getString(c.getColumnIndex(database.KEY_MODULECODE)));
        text_modulename.setText(c.getString(c.getColumnIndex(database.KEY_MODULENAME)));

        String moduleId = c.getString(c.getColumnIndex(database.KEY_ROWID));
    }

    @Override
    public View newView(Context context, Cursor c, ViewGroup parent) {
        View v = viewInflater.inflate(R.layout.listcourses, parent, false);
        return v;
    }
}

从主要活动

public void onListItemClick(ListView l, View v, int position, long id)
      {
          super.onListItemClick(l, v, position, id);
            Intent intent = new Intent(this,ViewCourse.class);

            //--->             <--
            intent.putExtra(TEST,moduleId);
            startActivity(intent);
      }
4

2 回答 2

2

看看 onListItemClick 的参数

public void onListItemClick(ListView l, View v, int position, long id)

ID 在那里.. 游标适配器会自动填充行 ID..

于 2012-11-03T15:54:43.517 回答
0
intent.putExtra(TEST, String.valueOf(id));
于 2012-11-03T15:57:26.997 回答