2017-08-10 23 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,看我更新的答案,知道你应该返回你的视图。 –