gpt4 book ai didi

java - Android Studio : adding new methods in ListFragment not working

转载 作者:行者123 更新时间:2023-12-02 11:42:17 25 4
gpt4 key购买 nike

我目前正在研究 Fragments 以及它们之间的通信,但我遇到了一些奇怪的事情。我有自己的 ListFragment 类:

//all necessary imports and packages

public class ListFragment extends android.app.ListFragment implements android.widget.AdapterView.OnItemClickListener {

ArrayList items;

public ArrayList getItems(){
return items;
}

@Override
public View onCreateView(LayoutInflater inflanter, ViewGroup container, Bundle savedInstanceState) {
items = new ArrayList<String>();
View view = inflanter.inflate(R.layout.fragments, container, false);
return view;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ArrayAdapter adapter = null;
setListAdapter(adapter);
getListView().setOnItemClickListener(this);
}

@Override
public void onItemClick(AdapterView<?> parent, View vview, int position, long id) {
Toast.makeText(getActivity(), "Item: " + position, android.widget.Toast.LENGTH_SHORT).show();
}
}

如您所见,这都是 ListFragments 的标准类,但我添加了一个方法:getItems()。没什么不寻常的。但每当我尝试强制转换此方法时:它不起作用。我的意思是,它甚至没有被检测到。示例:

//normal method somewhere in MainActivity; this method is working great
@Override
public void sendButtonClicked() {

ListFragment fragment = (ListFragment) getFragmentManager().findFragmentById(com.ja.testofallthing.R.id.headlines_fragment);
ArrayList list = fragment.getItems();
fragment.setListAdapter(new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, list));

}

看起来不错,但我仍然收到“无法解析方法”错误: "Cannot resolve method" error那么,到底出了什么问题呢?当我尝试在其他 fragment 中添加新方法时 - 它效果很好。但是当我在 ListFragment 中尝试时 - 不。预先感谢您的帮助。

最佳答案

您必须导入自定义ListFragment而不是android.app.ListFragment

我建议不要使用与 android.class 相同的类名。这样就可以避免这个问题。

关于java - Android Studio : adding new methods in ListFragment not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48467738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com