当我尝试在另一个类(
listModels
)的arraylist(FetchStockApi
)中添加数据时,它显示红色错误.add()(无法解析符号“add”)。但是如果我不使用 FetchStockApi
,并且不使用它的实例,则在 MainActivity 中创建的一些 ArrayList 中添加内容并将其用作适配器,它可以工作并且程序可以工作。
MainActivity.java
public class MainActivity extends AppCompatActivity {
EditText suggestSearch;
RecyclerView suggestionList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
suggestSearch = findViewById(R.id.searchBar);
suggestionList = findViewById(R.id.suggestionList);
// FetchStockApi Class
FetchStockApi fetchStockApi = new FetchStockApi();
// Adapter
suggestListAdapter adapter = new suggestListAdapter();
adapter.setStringArrayList(fetchStockApi.listModels);
suggestionList.setLayoutManager(new LinearLayoutManager(this));
suggestionList.setAdapter(adapter);
FetchStockApi.java
package com.example.stockapipractice2;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
public class FetchStockApi {
ArrayList<suggestListModel> listModels = new ArrayList<>();
String stockName = "Nifty 50";
String stockSymbol = "NFTY";
String exchange = "NSI";
String type = "Index";
suggestListModel SuggestListModel = new suggestListModel(stockName, stockSymbol,exchange,type);
listModels.add(SuggestListModel);
// This above add is showing the Error
}
我只想在 FetchStockApi 中添加数据,然后在 Recycler View 适配器的 MainActivity 中使用它。
您有 2 个单独的
listModels
实例。一入MainActivity
,一入FetchStockApi
。这就是为什么对 FetchStockApi
中的实例进行更改对 MainActivity
中的实例没有影响。
如果您想共享同一个实例,那么您需要将您在
MainActivity
中创建的实例的引用传递给 FetchStockApi
,以便它可以操作该实例。