2012-04-22 4 views
0

onCreateViewのグラフとレイアウトを含むレイアウトをフラグメント内に戻そうとしています。 2つのビューをどのように組み合わせて1つにするかわかりません。次のコード活動でAndroidフラグメントのachartengineを使用してグラフを使用してレイアウトを返す方法

public class ChartFragment extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 

     // LineGraph - class which draws the graph using achartengine 
     final LineGraph lineGraph = new LineGraph(); 
     final GraphicalView chart = lineGraph.getGraphicalView(inflater.getContext()); 
     final View view = inflater.inflate(R.layout.chart, container, false); 


     Button drawChartButton = (Button) view.findViewById(R.id.button_draw_chart); 

     drawChartButton.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
       // update chart for new data 
      } 
     }); 

     return chart; //return the chart only 
     // return view; // return layout but without the chart 

    } 

} 

Button chartButton = (Button) findViewById(R.id.button_draw_chart); 
    chartButton.setOnClickListener(new OnClickListener() { 

    public void onClick(View v) { 
     LinearLayout layout = (LinearLayout) findViewById(R.id.chart); 
     LineGraph lineGrpah = new LineGraph(); 

     GraphicalView testChart = lineGrpah 
      .getGraphicalView(SimpleApp.this); 
     layout.addView(testChart, new LayoutParams(
      LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
      } 
     }); 

とxml:

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


    <LinearLayout 
     android:id="@+id/chart" 
     android:layout_width="600dp" 
     android:layout_height="350dp" 
     android:layout_margin="15dp" > 

    </LinearLayout> 

    <Button 
     android:id="@+id/button_draw_chart" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/button_draw_chart" /> 

</LinearLayout> 

が正常に動作しますが、私は知らない私は、チャートのない唯一のチャートやレイアウトを返すことができますフラグメントでこれを行う方法。

view.addView(chart, new LayoutParams(
     LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
     } 
    }); 

をしてからviewを返す:onCreateView()

答えて

0

だけ具体的には、あなたがchartButtononClick()方法で書いたコードを適応させます。

+0

上記のアイデアは良いですが、 'view.add()'ではなく 'layout.add()'にする必要があります。 – rgb

+0

ええ、申し訳ありません;) – Venator85

+0

あなたの答えは非常にありがとう:) – rgb

関連する問題