2017-06-11 15 views
0

dataGridViewをscrollViewに配置できないという問題に直面しました。カラムがたくさんある場合は、 。だから私はそれを作り直し、それぞれの列に対しての縦レイアウトでLinearLayoutを作成し、それぞれが水平レイアウトを持つ別のLinearLayoutを持ってGridViewをシミュレートすることにしました。 (これはいいアイデアだと思っています)
残念ながら私は作成中にいくつかの問題に直面しています。それは作成されておらず、私のアプリケーションはオフになっています。 アンドロイド:dataGridのようなビューを作成しますが、代わりにLinearLayoutsを使用して作成

grid_container.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 
    <ScrollView 
     android:id="@+id/GridScrollView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

      <LinearLayout 
       android:id="@+id/main_grid_layout" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical"> 

      </LinearLayout> 
    </ScrollView> 

PageFragment.java(のLinearLayoutを記入する必要があります場所)

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.grid_container, container, false); 
    LinearLayout mainLayout = (LinearLayout) view.findViewById(R.id.main_grid_layout); 

    int colCount = mPage.get(0).split(",").length; 
    int rowCount = mPage.size(); 

    ArrayList<ArrayList<String>> tempNormList = createNormList(mPage); 


    for(int currCol=0;currCol<colCount;currCol++){ 
     LinearLayout linearLayout = new LinearLayout(view.getContext()); 
     linearLayout.setOrientation(LinearLayout.HORIZONTAL); 
     LinearLayout.LayoutParams llParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); 

     linearLayout.setLayoutParams(llParams); 

     for(int currRow=0; currRow<rowCount;rowCount++){ 
      TextView textView = new TextView(view.getContext()); 
      textView.setText(tempNormList.get(currCol).get(currRow)); 
      if(currRow==0){ 
       textView.setBackgroundResource(R.drawable.header_borders); 
      } 
      linearLayout.addView(textView); 
     } 
     mainLayout.addView(linearLayout); 
    } 

    return view; 
} 
:ここ

が私のコードであるあなたの助けをお願いします

ありがとうございますあなたの助け

答えて

0

それはあなたのソリューションを提供しますが、あなたは

  • 以下のようないくつかの変更カスタム・アダプタを使用しない操作を行う必要があり、データを設定する CustomAdapterのgetView()方法でforループを使用して、私のリンク回答をしてみてください。
  • idがmain_grid_layoutLinearlayoutを `findViewById()でキャストします。

  • それはあなた

    役立つことを願っていますmain_grid_layout

Skip Item Android Grid View in condition

getView()方法のconvertViewを追加

関連する問題