我是新手,但我已经成功创建了一个功能按钮。 我试图将用户输入(activity_main上的editText1)传递给Recipe(我的第二个活动)第一个代码是我的功能按钮。在尝试传递要在第二个活动布局上显示的信息时,我在第二轮代码中做错了什么?
package com.example.andrew;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b=(Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
public void onClick(View v){
startActivity(new Intent(MainActivity.this, Recipe.class));
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
第二轮代码:我尝试传递信息。第一项活动
package com.example.andrew;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Edit Text et = (Edit Text) findViewById(R.id.editText1);
String theText = et.getText().toString();
Intent i = new Intent(this, Recipe.class);//Recipe is my second class
i.putExtra("text_label", theText);//what is "text_label"? Where should it be?
Button b=(Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
public void onClick(View v){
startActivity(new Intent(MainActivity.this, Recipe.class));
}
});
}
}
在我的第二项活动中,我有:
public class Recipe extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.recipe_layout);
Intent i = getIntent();
uriStringi = i.getStringExtra("text_label");//is text_label on actv. 1?
startActivity(i);
}
答案 0 :(得分:0)
您正在意图中添加数据,但在启动活动时您没有使用它。而是创造新的意图。
解决方案:
在您当前的活动中,创建一个新的意图:
Intent i = new Intent(this,Recipe.class);
i.putExtra(“text_label”,theText);
startActivity(ⅰ); //在onClick()中写下这个
然后在食谱中,检索这些值:
Bundle extras = getIntent()。getExtras();
if(extras!= null){
String value = extras.getString("text_label");
}