我尝试从片段1发送数据,以片段2传递数据从片段到另一个片段,同样的活动
即时得到一个NullPointerException
,并且我不完全知道为什么..
我已搜查在谷歌,并发现了很多文章,即时通讯试图做什么,但我只是无法弄清楚如何完成一般方式,如果它甚至可能=(
对不起,因为使用不好的英语,我是一个初学者所以...
代码中使用的片段1
public interface DataMessage {
public void send(String message);
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {SM = (DataMessage)activity;
}catch (ClassCastException e){
throw new ClassCastException("Implement message interface");
}
代码用于在片段活动中使用的2
public void getData(String message){
edt.setText(message);
Log.i("Disp", "ListHistoryFragment " + message);
}
代码
public class MyActivity extends ActionBarActivity
implements NavigationDrawerFragment.NavigationDrawerCallbacks, ListHistoryFragment.DataMessage
...
@Override
public void send(String message) {
//DisplayFragment DispFrag = (DisplayFragment) getSupportFragmentManager().findFragmentById(R.id.fragmenttest);
DisplayFragment DispFrag = new DisplayFragment();
FragmentTransaction Transfer = getSupportFragmentManager().beginTransaction();
DispFrag.getData(message);
Transfer.replace(R.id.container, DispFrag).addToBackStack(null).commit();
Log.i("Acitivyt", "ListHistoryFragment " + message);
}
登录猫:
1-22 11:39:01.580 22399-22399/rampanere.packed.package.nl E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at android.rampa.pack.nl.SQL.DisplayFragment.getData(DisplayFragment.java:152)
at android.rampa.pack.nl.MyActivity.send(MyActivity.java:265)
at android.rampa.pack.nl.SQL.ListHistoryFragment$1.onItemClick(ListHistoryFragment.java:73)
编辑:
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
SM.send(message);
}
使用共享Prefrences的活动之间共享数据和片段 – koutuk 2014-11-22 11:33:08
你怎么骂'发送'方法在你的片段?请复制你的代码。 – 2014-11-22 11:33:58
增加了一些代码 – Rampadin 2014-11-22 11:39:57