为什么符号 ‘add’ 无法解析?

huangapple go评论111阅读模式
英文:

Why the symbol 'add' cannot be resolved?

问题

  1. 我想创建一个数组列表`add`方法不起作用
  2. package com.zaination.listview;
  3. import androidx.appcompat.app.AppCompatActivity;
  4. import android.os.Bundle;
  5. import android.widget.ListView;
  6. import java.util.ArrayList;
  7. public class MainActivity extends AppCompatActivity {
  8. @Override
  9. protected void onCreate(Bundle savedInstanceState) {
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.activity_main);
  12. }
  13. ListView VarListView = (ListView) findViewById(R.id.ListView);
  14. ArrayList<String> VarArrayList = new ArrayList<String>();
  15. VarArrayList.add("Zain");
  16. VarArrayList.add("Sarmad");
  17. VarArrayList.add("Aanish");
  18. VarArrayList.add("Haider");
  19. }
英文:

I want to make an array list, but the add method is not working.

  1. package com.zaination.listview;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.widget.ListView;
  5. import java.util.ArrayList;
  6. public class MainActivity extends AppCompatActivity {
  7. @Override
  8. protected void onCreate(Bundle savedInstanceState) {
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.activity_main);
  11. }
  12. ListView VarListView = (ListView) findViewById(R.id.ListView);
  13. ArrayList&lt;String&gt; VarArrayList = new ArrayList&lt;String&gt;();
  14. VarArrayList.add(&quot;Zain&quot;);
  15. VarArrayList.add(&quot;Sarmad&quot;);
  16. VarArrayList.add(&quot;Aanish&quot;);
  17. VarArrayList.add(&quot;Haider&quot;);
  18. }

为什么符号 ‘add’ 无法解析?

答案1

得分: 1

如果您将该代码放入onCreate(或任何其他)方法中,它可能会正常工作。

英文:

If you would put that code into onCreate (or any other) method it would probably work.

答案2

得分: 0

  1. 需要按照以下方式进行更新
  2. ```java
  3. package com.zaination.listview;
  4. import androidx.appcompat.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.widget.ListView;
  7. import java.util.ArrayList;
  8. public class MainActivity extends AppCompatActivity {
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. ListView varListView = (ListView) findViewById(R.id.ListView);
  14. ArrayList<String> varArrayList = new ArrayList<String>();
  15. varArrayList.add("Zain");
  16. varArrayList.add("Sarmad");
  17. varArrayList.add("Aanish");
  18. varArrayList.add("Haider");
  19. }
  20. }

另外,还有一个提示,属性名 VarArrayList 不遵循 Java 命名规范,应该以小写字母 varArrayList 开头。

  1. <details>
  2. <summary>英文:</summary>
  3. it&#39;s need to be updated like this.
  4. package com.zaination.listview;
  5. import androidx.appcompat.app.AppCompatActivity;
  6. import android.os.Bundle;
  7. import android.widget.ListView;
  8. import java.util.ArrayList;
  9. public class MainActivity extends AppCompatActivity {
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.activity_main);
  14. ListView VarListView = (ListView) findViewById(R.id.ListView);
  15. ArrayList&lt;String&gt; VarArrayList = new ArrayList&lt;String&gt;();
  16. VarArrayList.add(&quot;Zain&quot;);
  17. VarArrayList.add(&quot;Sarmad&quot;);
  18. VarArrayList.add(&quot;Aanish&quot;);
  19. VarArrayList.add(&quot;Haider&quot;);
  20. }
  21. }
  22. also another hint attr name `VarArrayList` not follow java naming convention, should start with small letter `varArrayList`
  23. </details>
  24. # 答案3
  25. **得分**: 0
  26. 你把代码写在了任何方法的外部。它必须在任何一种方法中。
  27. 最简单的方法是直接写在onCreate方法中:
  28. ```java
  29. @Override
  30. protected void onCreate(Bundle savedInstanceState) {
  31. super.onCreate(savedInstanceState);
  32. setContentView(R.layout.activity_main);
  33. ListView varListView = findViewById(R.id.ListView);
  34. ArrayList<String> varArrayList = new ArrayList<String>();
  35. varArrayList.add("Zain");
  36. varArrayList.add("Sarmad");
  37. varArrayList.add("Aanish");
  38. varArrayList.add("Haider");
  39. }

PS
还有一些小的改进(也部分被Android Studio推荐)你可以进行:

  • 你可以省略掉(ListView)的强制转换,因为它是多余的。
  • 你可以在初始化时省略掉ArrayList的标识符string
  • 你应该按照小驼峰命名法的约定(如varArrayList)来命名你的对象:

为什么符号 ‘add’ 无法解析?

英文:

You wrote the code outside of any method. It has to be in any kind of method.

The easiest way is to write it directly into the onCreate method:

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.activity_main);
  5. ListView VarListView = (ListView) findViewById(R.id.ListView);
  6. ArrayList&lt;String&gt; VarArrayList = new ArrayList&lt;String&gt;();
  7. VarArrayList.add(&quot;Zain&quot;);
  8. VarArrayList.add(&quot;Sarmad&quot;);
  9. VarArrayList.add(&quot;Aanish&quot;);
  10. VarArrayList.add(&quot;Haider&quot;);
  11. }

PS:
There are some small improvements (also partly recommended by Android Studio) you could do:

  • you can ommit the cast (ListView) because it's redundant
  • you can ommit the ArrayList identifier string on initialization
  • you should name your objects (like VarArrayList) after the lower camel case naming convention (varArrayList):

<img src="https://i.stack.imgur.com/rRRce.png" width="250">

huangapple
  • 本文由 发表于 2020年8月30日 16:35:05
  • 转载请务必保留本文链接:https://go.coder-hub.com/63655541.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定