2017-06-02 8 views
-2

今のところ、TEXT型の単一の列を持つ単一のテーブルを持つデータベースがあります。私はそのテーブルからデータを取得できるようにしたい、テーブルから各文字列について、それを自分自身のTextViewに挿入したい。私はTextViewsをLinearLayoutの垂直方向に配置したいと思います。 取得したデータがListViewを使用してアクティビティで表示されることはわかっていますが、後でそれぞれのTextViewをクリック可能に設定し、それぞれにいくつかの機能を与えたいので、それぞれ別々のTextViewが必要です。 コードを手伝って、プロジェクトファイルを質問に含める必要があるかどうか教えてください。SQLiteデータベースから取得した各アイテムを独自のTextviewに設定する方法

答えて

1

この

は私がsetcontentviewでレイアウトを渡すと、それは意志returnviewれます(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; 
    } 
+0

に渡すことができますCursorDatabaseからデータを取得し、以下の方法でこのカーソルを渡してみてくださいレイアウト)、アクティビティレイアウト全体をこのLinearLayoutCompatに設定します。 setcontentviewを使用するたびに、その単一のTextView以外のすべてが変更されるように、レイアウトの上に単一のTextViewをそのまま残したいと思ったら助けてくれますか? – iammrmehul

+1

親LinearLayoutを持つxmlレイアウトを作成し、この親のOrientation verticalを設定し、textViewとLinearLayoutを順番に入れ、findViewById()によってjavaでtextViewとLinearLayoutをキャストし、テキストビューにlableを入れ、LinearLayoutを使ってLinearLayoutCompatビューを子LinearLayoutに配置する.addView()メソッド。 –

関連する問題