2013-11-04 28 views
0

我想點擊位於我的MainActivity中的一個按鈕,並使用全息圖庫打開一個餅圖的活動。問題是,全息圖樣本是用碎片構建而成的,沒有任何活動。這是餅圖片段: EDITED我如何打開全息圖活動?

public class grafico extends Activity { 
    public View onCreate(Bundle savedInstanceState, LayoutInflater inflater, ViewGroup container) { 
     final View v = inflater.inflate(R.layout.piegrafico, container, false); 
     PieGraph pg = (PieGraph)v.findViewById(R.id.piegraph); 
     PieSlice slice = new PieSlice(); 
     slice.setColor(Color.parseColor("#99CC00")); 
     slice.setValue(2); 
     pg.addSlice(slice); 
     slice = new PieSlice(); 
     slice.setColor(Color.parseColor("#FFBB33")); 
     slice.setValue(10); 
     pg.addSlice(slice); 
     slice = new PieSlice(); 
     slice.setColor(Color.parseColor("#AA66CC")); 
     slice.setValue(2); 
     pg.addSlice(slice);  

     pg.setOnSliceClickedListener(new OnSliceClickedListener(){ 

      @Override 
      public void onClick(int index) { 

      } 

     }); 

     return v; 
    } 
} 

和我的MainActivity按鈕:

public void graph(View view) 
    { 
     Intent intent = new Intent(MainActivity.this, grafico.class); 
     startActivity(intent); 
    } 

按鈕main.xml中:

<Button 
     android:id="@+id/grafico" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:onClick="grafico" 
     android:text="grafico" /> 

的LO gcat說:

java.lang.IllegalStateException: Could not find a method grafico(View) in the activity 
--- 
--- 
Caused by: java.lang.NoSuchMethodException: grafico [class android.view.View] 

所以我認爲問題是,grafico活動是一個片段..我該如何解決?

回答

0

這裏有幾個問題。首先,你的grafico類不延伸Activity。您需要擴展Activity才能通過Intent啓動它。其次,你可能不應該覆蓋onCreateView(),通常更好的做法是覆蓋onCreate()方法Activity。如果您需要進一步澄清,請詢問。

+0

嘗試看到我的編輯請.. dowsn't再去..我不知道如果也許問題是按鈕.. –

+0

好吧,我錯了以前..對不起..我的錯。 onClick是'grafico',我的公共空白是'graph' ..無論如何這個活動都是空白的: –

+1

你需要在你的grafico類中創建一個名爲'public void grafico(View v)'的方法。'onClick'屬性'Button'指定了當按鈕被按下時將被調用的方法的名字,現在你的'onClick'方法被指定爲'grafico',但是在你的類中不存在這樣的方法,最重要的是,我會改變你的類名爲'Grafico',因爲類名通常以駱駝大小寫,第一個字母大寫;另外,將'onClick'的方法名稱改爲'grafico'以外的東西,因爲它的功能與構造函數。 –

0

我認爲你必須重寫onCreateView()而不是oncreate()。它可以解決你的問題。謝謝