听起来很简单,但我无法使其正常工作。我有两个活动。第一个是表单,第二个是根据在第一个活动中输入的值显示JSON文件中的数据。
因此,我正在尝试制作一个简单的版本。我有一个EditText和一个按钮,因此当他们按下按钮时,EditText中的内容将出现在下一个活动的TextView中。
到目前为止,这是我的代码: 主要活动
static TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.editText1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void transferIT(View view){
Intent intent = new Intent(this, Page.class);
startActivity(intent);
}
public static String getText(){
String data = (String) textView.getText();
return data;
}
主要XML
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/textView1"
android:layout_centerHorizontal="true"
android:ems="10"
android:hint="Enter Text to transfer" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Transfer it"
android:onClick="transferIT" />
第二次活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page);
// Show the Up button in the action bar.
setupActionBar();
TextView enteredValue = (TextView)findViewById(R.id.text);
enteredValue.setText(MainActivity.getText());
}
第二个XML
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="58dp" />
通过这种方式,我为EditText的数据创建了一个方法,在另一个活动中,我调用它来访问它。目前,当我按下按钮时,它停止工作。那么,在其他活动中拥有表格数据的解决方案是什么?
在第一个活动中,您应该像这样对意图添加额外的参数:
// I assume Page.class is your second ativity
Intent intent = new Intent(this, Page.class);
intent.putExtra("arg", getText()); // getText() SHOULD NOT be static!!!
startActivity(intent);
然后在第二个活动中,您将检索如下参数:
String passedArg = getIntent().getExtras().getString("arg");
enteredValue.setText(passedArg);
在MainActivity中将“ arg”字符串存储为常量,并始终在其他地方引用它也很好。
public static final String ARG_FROM_MAIN = "arg";
最近一个面试官问了我一个很棘手的问题。这个问题有几个部分。 为什么(问题是为什么,而不是如何)需要在从一个活动发送到另一个活动时打包对象,而不是直接发送 我给的答案- Parcelable为开发人员提供了限制对象创建的能力,这在某种程度上使其使用速度更快。 我没有得到任何有用的链接后,谷歌,而且我或面试官不太满意的答案。如果你们能帮忙,那就太好了!
我正在写一个Android应用程序,有Java和静态编程语言活动。我希望从静态编程语言移动到Java,已经完成了,现在我希望回到静态编程语言活动,我找不到具体的代码。 我的应用程序名称是starter,Kotlin活动是MainActivity。kt和java类是face_detect。JAVA我已经试过:` ` 我希望单击face_detect上的按钮。java,这将把我带到MainActivi
我有两个 列表 详细 列表显示项目列表,单击列表中的项目时显示详细信息。在中,我们观察从数据库获取提要的情况,一旦我们这样做了,我们就更新了用户界面。 列表页 现在我们有了一个页面,该页面更新了提要(项目),并且已经完成,但是更改没有反映在中。 详细信息页面 提要视图模型 为了简单起见,已经抽象了一些代码。如果需要,我可以添加它们来跟踪问题
我目前正在做一个项目,我需要帮助。 我想发送的名称,总数量和总价的一个产品的数量在我的添加到购物车活动。 @override public void onListClick(final ItemInfo item){ 上面应该有什么代码发送到购物车活动?? toast.maketext(mainactivity.this,“added To cart”,toast.length_short).sh
我尝试使用 如有任何帮助,不胜感激,谢谢。