如何将从SQLite数据库中检索的每个项目设置为它自己的Textview

时间:2017-06-02 17:36:13

标签: android sqlite android-layout android-sqlite

目前,我有一个数据库,其中包含一个TEXT类型的单个表。我希望能够从该表中检索数据,并从表中的每个字符串中将其插入到自己的TextView中。我希望TextViews以垂直LinearLayout方式排列。 我知道检索到的数据是使用ListView在一个活动中呈现的,但我想要每个单独的TextView,因为我后来想要设置每个TextView可点击并给每个人一些功能。 请帮我解释一下代码,并告诉我是否需要在问题中包含任何项目文件。

1 个答案:

答案 0 :(得分:1)

试试这个

Database中的Cursor获取数据并将此光标传递给下面的方法return view您可以传递setContentView(view)

 public LinearLayoutCompat defaultPage(Cursor mCursor) {
        LinearLayoutCompat layout = new LinearLayoutCompat(this);

        layout.setLayoutParams(new LinearLayoutCompat.LayoutParams(LinearLayoutCompat.LayoutParams.MATCH_PARENT, LinearLayoutCompat.LayoutParams.MATCH_PARENT));
        layout.setGravity(Gravity.CENTER);
        layout.setOrientation(LinearLayoutCompat.VERTICAL); 
        for(int i=0;i<mCursor.getCount();i++) {
            mCursor.moveToPosition(i);
            AppCompatTextView defaultText = new AppCompatTextView(this);
            defaultText.setText(mCursor.getString(mCursor.getColumnIndex("TOUR_COLUMN_NMAE")));
            defaultText.setTextSize(20);
            defaultText.setTypeface(null, Typeface.BOLD);
            defaultText.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    // Toast.makeText(mContext, "Work in progress", Toast.LENGTH_SHORT).show();
                }
            });
            layout.addView(defaultText);
        }    
        return layout;
    }