【发布时间】:2016-01-11 21:24:01
【问题描述】:
我正在开发一个需要在片段之间传输一些数据的应用程序,并偶然发现了两个版本。
以下是实现监听器的非常相似的版本。你认为哪一个更适合片段之间的通信?或者也许其他一些实现?另一个问题是:是否需要另一个接口通过 MainAvtivity 将数据从第二个片段发送回第一个片段,或者是否有更简单的方法?
谢谢
第一:
class FragOne extends ListFragment
{
ListenerInterface listener;
public void onAttach(Content content)
{
try{
listener = (ListenerInterface).content;
}catch ClassCastException..
super.onAttach(content);
}
...
public void OnListItemClick(ListView, View,position,id)
{
listener.doSmth(someData);
}
public interface ListenerInterface
{
public void doSmth(someData);
}
}
class MainActivity extends Activity implements FragOne.ListInterface
{
....
public void doSmth(someData)
{
//sending data to second fragment
}
}
或者第二个:
class FragOne extends ListFragment
{
ListenerInterface listener;
...
public void OnListItemClick(ListView, View,position,id)
{
listener.doSmth(someData);
}
public void assignListener(Activity activity)
{
this.listener=(ListenerInterface)activity;
}
public interface ListenerInterface
{
public void doSmth(someData);
}
}
class MainActivity extends Activity implements FragOne.ListInterface
{
....
public void onCreate(Bundle s)
}
FragOne fragOne = new FragOne();
FragmentManager fm=getSupportFragmentmentManager...
...
...commit();
fragOne.assignListener(this);
}
public void doSmth(someData)
{
//sending data to second fragment
}
}
【问题讨论】:
标签: android android-fragments interface