gpt4 book ai didi

android - Fragment 的 ListView 项接口(interface)定义中的按钮?

转载 作者:搜寻专家 更新时间:2023-11-01 08:05:10 24 4
gpt4 key购买 nike

在我的应用程序中,我有一个 Activity 在操作栏选项卡导航模式下有两个 fragment ,就像 Android 开发者网站示例一样。

在我的第一个 fragment 中,我有一个 ListView (它有自己的适配器), ListView 的每个项目都有一个名为 +1 的按钮。我想刷新第二个 fragment ,该 fragment 显示他们的 +1 按钮被点击的第一个 fragment 中 ListView 中的项目。

我知道我必须使用接口(interface)。但我不知道如何使用它们。我必须在哪里定义接口(interface)?如何使用它?以及如何从 Activity 访问它以刷新第二个 fragment ?

快速帮助会很棒。谢谢。

最佳答案

如果你想在列表项上点击它

fragment A:

public class FragmentA extends ListFragment {

OnItemSelectedListener mListener;

...
// Container Activity must implement this interface
public interface OnItemSelectedListener {
public void onItemSelected(int position);
}
...

@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (OnItemSelectedListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement OnItemSelectedListener");
}
}

@Override
public void onListItemClick(ListView l, View v, int position, long id) {

mCallback.onItemSelected(position);

}
}

容器 Activity :

public class ContainerActivity extends FragmentActivity 
implements FragmentA.OnItemSelectedListener
{

//...



public void onItemSelected(int Position/*pass anything which u want*/)
{

SecondFragment second_fragment = (SecondFragment) getSupportFragmentManager().findFragmentById(R.id.fragmentB);

if(second_fragment !=null)
{
second_fragment.UpdateUI(Position);
}

}


}

第二个 fragment :

public class SecondFragment extends Fragment {

...
public void UpdateUI(Position)
{

}

}

希望这对您有所帮助。单击每个列表项内的按钮可能有点困难,但请尝试相同的方法。可能您必须在自定义适配器中编写接口(interface)声明和调用。

关于android - Fragment 的 ListView 项接口(interface)定义中的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15295581/

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