无法解析findviewbyid错误

20jt8wwn  于 2021-07-13  发布在  Java
关注(0)|答案(2)|浏览(475)

我尝试了几乎所有的方法,但似乎都不起作用,我不断得到一个底部按钮的无法解析findviewbyid。按钮声明有相同的错误,但是我正确地修复了这些错误,底部的按钮声明的行为似乎不一样。android新手,帮帮我?

  1. import android.os.Bundle;
  2. import android.support.v4.app.Fragment;
  3. import android.view.LayoutInflater;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.TextView;
  11. public class ConnectFragment extends Fragment {
  12. public String sign = "";
  13. public String total= "";
  14. public Double tempDouble, tempDouble2;
  15. public ConnectFragment() {
  16. }
  17. @Override
  18. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  19. View rootView = inflater.inflate(R.layout.fragment_connect, container, false);
  20. return rootView;
  21. // Buttons for Felony
  22. Button button1 =(Button)rootView.findViewById(R.id.button1);
  23. Button button2 =(Button)rootView.findViewById(R.id.button2);
  24. Button button3 =(Button)rootView.findViewById(R.id.button3);
  25. Button button4 =(Button)rootView.findViewById(R.id.button4);
  26. Button button5 =(Button)rootView.findViewById(R.id.button5);
  27. //Buttons for misdemeanors
  28. Button button6 =(Button)rootView.findViewById(R.id.button7);
  29. Button button7 =(Button)rootView.findViewById(R.id.button8);
  30. Button button8 =(Button)rootView.findViewById(R.id.button6);
  31. //Buttons for Infraction
  32. Button button9 =(Button)rootView.findViewById(R.id.button9);
  33. //clear, +, =
  34. Button button10=(Button)rootView.findViewById(R.id.button10);
  35. Button button11 =(Button)rootView.findViewById(R.id.button11);
  36. Button button12 =(Button)rootView.findViewById(R.id.button12);
  37. // button 1 event handler
  38. button1.setOnClickListener(
  39. //button 1 interface
  40. new Button.OnClickListener()
  41. {
  42. //Button 1 callback method
  43. public void onClick(View v)
  44. {
  45. TextView output = (TextView)findViewById(R.id.editText);
  46. output.append("100 years");
  47. }
  48. }
  49. );
  50. // button 2 event handler
  51. button2.setOnClickListener(
  52. //button 2 interface
  53. new Button.OnClickListener()
  54. {
  55. //Button 2 callback method
  56. public void onClick(View v)
  57. {
  58. TextView output = (TextView)findViewById(R.id.editText);
  59. output.append("25 years");
  60. }
  61. }
  62. );
  63. // button 3 event handler
  64. button3.setOnClickListener(
  65. //button 3 interface
  66. new Button.OnClickListener()
  67. {
  68. //Button 3 callback method
  69. public void onClick(View v)
  70. {
  71. TextView output = (TextView)findViewById(R.id.editText);
  72. output.append("10 years");
  73. }
  74. }
  75. );
  76. // button 4 event handler
  77. button4.setOnClickListener(
  78. //button 4 interface
  79. new Button.OnClickListener()
  80. {
  81. //Button 4 callback method
  82. public void onClick(View v)
  83. {
  84. TextView output = (TextView)findViewById(R.id.editText);
  85. output.append("5 years");
  86. }
  87. }
  88. );
  89. // button 5 event handler
  90. button5.setOnClickListener(
  91. //button 5 interface
  92. new Button.OnClickListener()
  93. {
  94. //Button 5 callback method
  95. public void onClick(View v)
  96. {
  97. TextView output = (TextView)findViewById(R.id.editText);
  98. output.append("1 years");
  99. }
  100. }
  101. );
  102. // button 6 event handler
  103. button6.setOnClickListener(
  104. //button 1 interface
  105. new Button.OnClickListener()
  106. {
  107. //Button 6 callback method
  108. public void onClick(View v)
  109. {
  110. TextView output = (TextView)findViewById(R.id.editText);
  111. output.append("1 years");
  112. }
  113. }
  114. );
  115. // button 7 event handler
  116. button7.setOnClickListener(
  117. //button 7 interface
  118. new Button.OnClickListener()
  119. {
  120. //Button 7 callback method
  121. public void onClick(View v)
  122. {
  123. TextView output = (TextView)findViewById(R.id.editText);
  124. output.append("0.5 years");
  125. }
  126. }
  127. );
  128. // button 8 event handler
  129. button8.setOnClickListener(
  130. //button 8 interface
  131. new Button.OnClickListener()
  132. {
  133. //Button 8 callback method
  134. public void onClick(View v)
  135. {
  136. TextView output = (TextView)findViewById(R.id.editText);
  137. output.append("0.25 years");
  138. }
  139. }
  140. );
  141. // button 9 event handler
  142. button9.setOnClickListener(
  143. //button 9 interface
  144. new Button.OnClickListener()
  145. {
  146. //Button 9 callback method
  147. public void onClick(View v)
  148. {
  149. TextView output = (TextView)findViewById(R.id.editText);
  150. output.append("0.013 years");
  151. }
  152. }
  153. );
  154. // button 10 event handler
  155. button10.setOnClickListener(
  156. //button 10 interface
  157. new Button.OnClickListener()
  158. {
  159. //Button 10 callback method
  160. public void onClick(View v)
  161. {
  162. TextView output = (TextView)findViewById(R.id.editText);
  163. output.setText("");
  164. }
  165. }
  166. );
  167. // button 12 event handler
  168. button12.setOnClickListener(
  169. //button 12 interface
  170. new Button.OnClickListener()
  171. {
  172. //Button 12 callback method
  173. public void onClick(View v)
  174. {
  175. TextView output = (TextView)findViewById(R.id.editText);
  176. tempDouble = Double.parseDouble(output.getText().toString());
  177. output.setText("");
  178. sign = "+";
  179. }
  180. }
  181. );
  182. // button 11 event handler
  183. button11.setOnClickListener(
  184. //button 11 interface
  185. new Button.OnClickListener()
  186. {
  187. //Button 11 callback method
  188. public void onClick(View v)
  189. {
  190. TextView output = (TextView)findViewById(R.id.editText);
  191. tempDouble2 = Double.parseDouble(output.getText().toString());
  192. if (sign=="+")
  193. {
  194. output.setText(Double.toString(tempDouble+tempDouble2));
  195. sign="";
  196. }
  197. }
  198. }
  199. );
  200. }
  201. }
  202. }
  203. }
gdrx4gfi

gdrx4gfi1#

你在为一个 Fragment 那没有办法 findViewById . 您需要使用:

  1. TextView output = (TextView) rootView.findViewById(R.id.edittext);

同时移动你的 return rootView 方法末尾的语句。

c2e8gylq

c2e8gylq2#

这并不是一个真正的答案,但一个更好的方法,摆脱所有的样板代码,看起来丑陋,是使用依赖注入。一个简单易用的好框架是 butterknife . 你的代码会更干净,你不会有findbyid和所有这些点击事件。所有这些都是用刀来处理的。

相关问题