2017-08-10 22 views
2

這是網吧管理的我在Tablayout片段的一個添加代碼我面對3個錯誤如何設置Java代碼片段活動

1)在線路錯誤(TextView的TextView的=(TextView的)view.findViewById (R.id.qtea);在onclicklistener 2)只是說明價格方法 3)返回查看

public class TabFragment1 extends Fragment { 


    int counttea = 0; 
    int countsamosa = 0; 
    and so on 

    int teaprice = 0; 
    int samosaprice = 0; 
    int macroniprice = 0; 
    and so on 

    int totalprice = 0; 
    int sum = teaprice + samosaprice + macroniprice + biryaniprice + pulawoprice + rotiprice + parathaprice + chickenbiryaniprice + chickenqormaprice + lobyaprice + namkeenprice + sandwichprice + chanaprice + shawarmaprice; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.tab_fragment_1, container, false); 


     //For tea 
     Button btnTea = (Button) view.findViewById(R.id.btntea); 
     btnTea.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       counttea = counttea + 1; 
       teaprice = counttea * 20; 
       TextView textView = (TextView) view.findViewById(R.id.qtea); 
       textView.setText("" + counttea); 
       showpricetea(teaprice); 
       showtotalPrice(sum); 

      } 
     }); 

     //For samosa 
     Button btnsam = (Button) view.findViewById(R.id.btnsamosa); 
     btnsam.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       countsamosa = countsamosa + 1; 
       samosaprice = countsamosa * 10; 
       TextView textView = (TextView) view.findViewById(R.id.qsamosa); 
       textView.setText("" + countsamosa); 
       showpricesamosa(samosaprice); 
       showtotalPrice(sum); 

      } 
     }); 
     //For macroni 
     Button btnmacroni = (Button) view.findViewById(R.id.btnmacroni); 
     btnmacroni.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       countmacroni = countmacroni + 1; 
       macroniprice = countmacroni * 50; 
       TextView textView = (TextView) view.findViewById(R.id.qmacroni); 
       textView.setText("" + countmacroni); 
       showpricemacroni(macroniprice); 
       showtotalPrice(sum); 

      } 
     }); 

    and so on 
    } 


    public void showpricesamosa(int price) { 
     TextView textView1 = (TextView) view.findViewById(R.id.psamosa); 
     textView1.setText("" + price); 
    } 

    public void showpricetea(int price) { 
     TextView textView1 = (TextView) view.findViewById(R.id.ptea); 
     textView1.setText("" + price); 
    } 

    public void showpriceroti(int price) { 
     TextView textView1 = (TextView) view.findViewById(R.id.proti); 
     textView1.setText("" + price); 
    } 

and so on 
    public void showtotalPrice(int price) { 
     TextView textView2 = (TextView) view.findViewById(R.id.showtotalprize); 
     int total = teaprice + samosaprice + macroniprice + biryaniprice + pulawoprice + rotiprice + parathaprice + chickenbiryaniprice + chickenqormaprice + lobyaprice + namkeenprice + sandwichprice + chanaprice + shawarmaprice; 
     textView2.setText("" + total); 
    } 

    public void clickreset(View view) { 

     counttea = 0; 
     countsamosa = 0; 
     countmacroni = 0; 
     countbiryani = 0; 
     and so on 
     teaprice = 0; 
     samosaprice = 0; 
     macroniprice = 0; 
     and so on 
     //for tea 
     TextView tea1 = (TextView) view.findViewById(R.id.qtea); 
     tea1.setText("00"); 

     TextView tea2 = (TextView) view.findViewById(R.id.ptea); 
     tea2.setText("00"); 

     //for samosa 
     TextView sam1 = (TextView) view.findViewById(R.id.qsamosa); 
     sam1.setText("00"); 

     TextView sam2 = (TextView) view.findViewById(R.id.psamosa); 
     sam2.setText("00"); 

     //for macroni 
     TextView mac1 = (TextView) view.findViewById(R.id.qmacroni); 
     mac1.setText("00"); 

     and so on 
    } 
     return view; 


    } 
+0

普萊舍,上傳的完整代碼。不要寫「等等..」 –

+0

首先我上傳完整的代碼,但錯誤(代碼是更大的文字),然後我寫這樣的所有其他項目,如茶,samosa,米等等高達14日 –

+0

請遵循我的回答,它會解決你的問題。 –

回答

2

不要初始化內部onClick意見查看錯誤。初始化onCreateView中的視圖,並在public void clickreset(View view)方法上使用它。

將下面的textViews作爲全局變量移動。

TextView tea1; //global variable 
TextView tea2; 
TextView sam1; 
TextView sam2; 
TextView mac1; 

指定它onCreatView()

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.tab_fragment_1, container, false); 
tea1 = (TextView) view.findViewById(R.id.qtea); 
tea2 = (TextView) view.findViewById(R.id.ptea); 
sam1 = (TextView) view.findViewById(R.id.qsamosa); 
sam2 = (TextView) view.findViewById(R.id.psamosa); 
mac1 = (TextView) view.findViewById(R.id.qmacroni); 
} 

希望它能幫助:)

+0

錯誤只在視圖中.........在內部類中訪問vararaible需要聲明最後 –

+0

發佈您的錯誤日誌 –

1
//For macroni 
     Button btnmacroni = (Button) view.findViewById(R.id.btnmacroni); 
     btnmacroni.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       countmacroni = countmacroni + 1; 
       macroniprice = countmacroni * 50; 
       TextView textView = (TextView) view.findViewById(R.id.qmacroni); 
       textView.setText("" + countmacroni); 
       showpricemacroni(macroniprice); 
       showtotalPrice(sum); 

      } 
     }); 

    return view; 

    } //before the end of onCreateView body, you should return view. 

//這裏你應該寫返回查看

+0

我在重置方法的關閉括號後沒有返回 –

+0

爲什麼不發佈完整班級代碼?你讓它感到困惑。 –

+0

@MuhammadHaris,看我更新的答案,知道你應該返回你的視圖。 –