【发布时间】:2018-12-06 05:49:11
【问题描述】:
我是Android 开发的新手,发现很难理解interfaces 如何在Activities 之间传递值。
我创建了一个Interface 赞,
public interface ValuePasser {
void valueObtained(String value);
}
在第一个活动中,我将值设置为
public class MainActivity extends AppCompatActivity implements ValuePasser {
ValuePasser valuePasser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
valuePasser = (ValuePasser) this;
valuePasser.valueObtained("test Value");
Intent i = new Intent(this, Main2Activity.class);
startActivity(i);
}
@Override
public void valueObtained(String value) {
Log.d("TAG", "TAg");
}
}
第二次Activity,我试图获得像
public class Main2Activity extends AppCompatActivity implements ValuePasser {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
@Override
public void valueObtained(String value) {
Toast.makeText(Main2Activity.this, value, Toast.LENGTH_SHORT).show();
}
}
它不工作,你能说一下interfaces 必须如何使用以及它如何保存数据,以便对像我这样的菜鸟有用。
【问题讨论】:
-
interface不是Android的概念,仅供参考Android不是一种语言,它是一种技术。您可以使用多种语言为Android开发最广泛的JAVA和Kotlin。您需要了解Java中的界面如何工作。 -
您所做的并不是在 android 中使用
interface的用例。阅读How do I pass data between Activities in Android application ...。 -
拿这个你就会明白接口youtube.com/watch?v=Yaa3QroWe7Q