Android 普通类中怎么向activity中传值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 普通类中怎么向activity中传值相关的知识,希望对你有一定的参考价值。
如:
public class a
ArrayList<String> temp_list = new ArrayList<String>();//得到一串数据保存到temp_list
怎么传到B activity中呢?
以Text为例
发送方是 Intent intent = new Intent(Context context,otherActivityOrService.class);
intent.putExtra("key","yourText");
startActivity(intent);//如果启动的是service就使用startService(intent);
接收方如果是Service或是BroadcastReceiver会在生命周期方法中直接获得intent
如果接收方仍然是一个Activity那么应该使用Intent intent = getIntent();
然后用
String text = intent.getStringExtra("key"); 这样的方式来获取传过来的值 参考技术A 把class A封装成一个单利,然后在B Activity中调用就可以了
Android 中如何在java类中调用activity 中的一个方法?
我导入一个jar包,需要用到这个jar包里面MainActivity的一个方法,这是一个activity好像不能new的方法实例化,然后调用它的方法,请问这个要怎么调用?
通常,您不应该以这种方式创建新的 MainActivity 实例。要打开一个新的 MainActivity,请使用 Intent。在您的情况下,您应该引用原始 MainActivity 实例,并在那里调用此方法。不要以任何方式创建新的,因为您已经在运行它。一个简单的解决方法:
MainActivity.this.myMethod("Hello there")
您不必存储mContext. 你已经在 MainActivity 里面了。
因此,完整的代码将是:
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = findViewById(R.id.webview);
myWebView.loadUrl("http://www.google.com");
myWebView.addJavascriptInterface(new WebAppInterface(), "Android");
public void myMethod(String test)
Toast.makeText(this, test, Toast.LENGTH_SHORT).show();
public class WebAppInterface
/** Show a toast from the web page */
@JavascriptInterface
public void showToast(String toast)
MainActivity.this.myMethod("Hello there");
实际上,我认为您甚至可以避免使用MainActivity.this., 并myMethod直接调用。 参考技术A 你如果只是当工具类来用是可以new的然后调用里面的方法
以上是关于Android 普通类中怎么向activity中传值的主要内容,如果未能解决你的问题,请参考以下文章
Android 中如何在java类中调用activity 中的一个方法?
Android在 普通类(非Activity,多数为Adapter) 中 传输数据为空值 解决方法 :在startActivity 用 intent传输数据