Java 接口不工作
我使用了一个接口来获取从一个类到另一个类的ArrayList,但是当我在另一个类中调用该接口时,我得不到ArrayList的值 接口Java 接口不工作,java,android,interface,Java,Android,Interface,我使用了一个接口来获取从一个类到另一个类的ArrayList,但是当我在另一个类中调用该接口时,我得不到ArrayList的值 接口 public interface GetArrayList { public void getArray(List<SearchModel> listValues); } 类设置arrayList的位置 getArrayList = new GetArrayList() { @Override public void getA
public interface GetArrayList {
public void getArray(List<SearchModel> listValues);
}
类设置arrayList的位置
getArrayList = new GetArrayList() {
@Override
public void getArray(List<SearchModel> listValues) {
listValues = values;
}
};
JSONArray tableArray = NewDataSet.getJSONArray("Table");
for (int i = 0; i < tableArray.length(); i++) {
JSONObject table = tableArray.getJSONObject(i);
data = new SearchModel(/*Constructor irrelevant to question*/);
values.add(data);
}
getArrayList.getArray(values);
我想使用arraylist的第二个类
public class SearchJobList extends ListFragment {
private View view;
private List<SearchModel> data;
private GetArrayList getArrayList;
SearchJobAdapter jobAdapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.search_job_list, null, false);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
data = new ArrayList<SearchModel>();
getArrayList = new GetArrayList() {
@Override
public void getArray(List<SearchModel> listValues) {
data = listValues;
jobAdapter = new SearchJobAdapter(getActivity(), data);
setListAdapter(jobAdapter);
}
};
}
}
尝试从mainActivity设置静态列表变量
并尝试从其他活动访问它 使用应用程序类。这还有一点要做,但却是存储全局对象/数据的正确位置 每个活动都可以通过调用.getApplication来访问它,只需将其强制转换到继承的类即可 在AndroidManifest中,通过属性android:name扩展应用程序标记,该属性指定您自己的应用程序类扩展应用程序
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher"
android:name="com.example.my.great.package.MyApplication"
....
在活动中使用:
((MyApplication)getApplication()).getMyList();
你为什么不直接使用公共的ArrayList getArrayList?很抱歉,我听不懂你的意思???你是否正在将活动类中getArrayList的引用对象发送给你正在操作的一个类…?我想为列表设置适配器。这样我就可以使用ArrayList,所以这就是我使用过的接口,我知道,但使用静态是很好的编程方式,所以我尝试使用接口
((MyApplication)getApplication()).getMyList();