如何访问从片段到主活动的字符串值?
问题描述:
我有一个Android应用程序,其中使用了 webview
片段.从该片段中,我将通过使用以下代码来获取当前的URL.但是问题是我想从MainActivity访问 String webUrl
.
I have an android application in which I used webview
fragment. From that fragment, i am going to take the current url by using the below code. But the problem is that I want to access String webUrl
from the MainActivity.
我如何得到它?我实际上计划要做的是根据用户希望从片段中创建一个喜欢的URL.
How can I get it? What I actually planned to do is creating a favorite url according to the wish of the user from the fragment.
final String webUrl = view.getUrl();
答
创建接口:
public interface HomeListener {
void onHomeClick(String url);
}
现在是片段:
HomeListener mCallback;
@Override
public void onAttach(Context con) {
super.onAttach(con);
try {
mCallback = (HomeListener) con;
} catch (ClassCastException e) {
e.printStackTrace();
}
}
@Override
public void onDetach() {
mCallback = null;
super.onDetach();
}
现在,当获得url时:
Now when url is get:
mCallback.onHomeClick(view.getUrl());
最后一个活动,实现HomeListener和重写方法:
Last in Activity, implement HomeListener, and override method:
@Override
public void onHomeClick(String url) {
Log.e("urlFromFragment",url);
}
示例活动:
public class MainActivity extends AppCompatActivity
implements HomeListener {
String URL="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onHomeClick(String url) {
URL=url;
Toast.makeText(getApplicationContext(), URL, Toast.LENGTH_LONG).show();
}