如何访问从片段到主活动的字符串值? [英] How to access a string value from the fragment to the main activity?

查看:125
本文介绍了如何访问从片段到主活动的字符串值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个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();
        }

这篇关于如何访问从片段到主活动的字符串值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆