我尝试使用interface:
将值从Fragment
传递到Activity
public interface OnSelectedButtonListener {
void onButtonSelected(int buttonIndex);
}
这是有效的,但是当我尝试将值从Activity
中的接口传递到另一个Activity
时,我得到null。如何以另一种方式解决这个问题?
@Override
public void onButtonSelected(int buttonIndex) {
Intent intent = new Intent(MainActivity.this, ArticleActivity.class);
intent.putExtra("text",buttonIndex);
startActivity(intent);
}
答案 0 :(得分:1)
<强> MainActivity 强>
在MainActivity类的顶部,添加EXTRA_MESSAGE定义,如下所示:
public final static String EXTRA_MESSAGE = "com.mycompany.myfirstapp.MESSAGE";
并调用启动活动:
Intent intent = new Intent(MainActivity.this, ArticleActivity.class);
intent.putExtra(EXTRA_MESSAGE, buttonIndex);
startActivity(intent)
<强> ArticleActivity 强>
在OnCreate(Bundle savedInstanceState)中获取意图并将其分配给局部变量。
Intent intent = getIntent();
int index;
if (intent != null) {
index = intent.getIntExtra(MainActivity.EXTRA_MESSAGE, 0);
}