- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了 Intent 问题。我从 YouTube (thenewboston) 了解到,当我启动应用程序并单击按钮时,文本不会传输,也不显示任何内容。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_apples);
}
public void onClick(View view){
Intent i = new Intent(this,Bacon.class);
final EditText applesInput = (EditText)findViewById(R.id.applesInput);
String userMessage = applesInput.getText().toString();
i.putExtra("appleMessage",userMessage);
startActivity(i);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_apples, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
XML 布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".Apples"
android:background="#009900">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go to bacon"
android:id="@+id/applesButton"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:onClick="onClick"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/applesInput"
android:layout_above="@+id/applesButton"
android:layout_centerHorizontal="true"
android:layout_marginBottom="41dp"
android:width="250dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/applesText"
android:layout_above="@+id/applesInput"
android:layout_centerHorizontal="true"
android:layout_marginBottom="41dp" />
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="198dp" />
</RelativeLayout>
培根 Activity :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bacon);
Bundle applesData =getIntent().getExtras();
if(applesData==null){
return;
}
String appleMessage = applesData.getString("applesMessage");
final TextView textView=(TextView)findViewById(R.id.textView);
textView.setText(appleMessage);
}
最佳答案
您的额外键名不匹配。您将数据作为 appleMessage
放入,但将其作为 applesMessage
检索,这将返回 null
。
为了确保将来不会发生这种情况,您应该在接收 Intent 的类中定义一个静态最终常量。
public static final String EXTRA_APPLE_MSG = "appleMessage";
您的源 Activity 将使用它作为
String userMessage = applesInput.getText().toString();
i.putExtra(Bacon.EXTRA_APPLE_MSG,userMessage);
关于java - Intent Android : click the button text is not transferred and show nothing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28792263/
我遇到过这个 html: 上面的html和这个有什么区别: 最佳答案 来自MDN page on the tag : 对于 type 的属性标签,可能的值是: 提交:按钮将表单数据提交给服务器
Button button= (Button) findViewbyID(R.id.button); 和 Button button = new Button(this); 有什么区别? 最佳答案 有
我是一名优秀的程序员,十分优秀!