我希望在点击按钮时将值从第一个活动传递到最后一个活动。
同时我想让这个按钮带我进入第二个活动。不知怎的,这不起作用。
private void imagebutton1 () {
ImageButton btn = (ImageButton) findViewById(R.id.imageButton4);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//startActivity (new Intent(Akt1.this,Akt2.class));
String data1 = "data1";
Intent intent = new Intent (Akt1.this,Akt2.class);
Intent passdata_intent = new Intent(Akt1.this, Akt6.class);
passdata_intent.putExtra("data1",data1);
startActivity(passdata_intent);
}
});
答案 0 :(得分:0)
我希望在a时将值从第一个活动传递到最后一个活动 单击按钮。
抱歉,这是不可能的。你必须遵循活动堆栈。
要将数据从一个传递到另一个,一个intent
就足够了,不需要两个。
Intent intent = new Intent (Akt1.this,Akt2.class);
intent.putExtra("data1",data1);
startActivity(intent);
请参阅how to directly pass value of a variable from 1st activty to 3rd activity using putextra?
<强> Akt1的强>
Intent intent = new Intent (Akt1.this,Akt2.class);
intent.putExtra("data1",data1);
startActivity(intent);
<强> Akt2的强>
setContentView
之后
Intent intent = getIntent();
String data1 = intent.getStringExtra("data1");
答案 1 :(得分:0)
private void imagebutton1 () {
ImageButton btn = (ImageButton) findViewById(R.id.imageButton4);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String data1 = "data1";
Intent intent = new Intent (Akt1.this,Akt2.class);
intent.putExtra("data1",data1);
startActivity(intent );
}
});
例如:
在MainActivity中:
Intent intent = new Intent(this, OtherActivity.class);
intent.putExtra(OtherActivity.KEY_EXTRA, yourDataObject);
startActivity(intent);
在OtherActivity中:
public static final String KEY_EXTRA = "com.example.yourapp.KEY_BOOK";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String yourDataObject = null;
if (getIntent().hasExtra(KEY_EXTRA)) {
yourDataObject = getIntent().getStringExtra(KEY_EXTRA);
} else {
throw new IllegalArgumentException("Activity cannot find extras " + KEY_EXTRA);
}
// do stuff
}
此处有更多信息:http://developer.android.com/reference/android/content/Intent.html
答案 2 :(得分:0)
我不知道为什么你需要用一个按钮开始两个活动,但你可以开始第一个活动,在你创建的第一个活动中你可以开始第二个活动(你可以重新创建你的意图)第一项活动。)
答案 3 :(得分:0)
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//startActivity (new Intent(Akt1.this,Akt2.class));
String data1 = "data1";
Intent intent = new Intent (Akt1.this,Akt2.class);
intent.putExtra("data1",data1);
startActivity(intent);
}
});
在您的Akt2.class中添加此代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
String data1 = getIntent().getExtras().getString("data1");
// your code
}
答案 4 :(得分:0)
请尝试以下操作:
.ui-grid-top-panel,
.ui-grid-header-viewport {
overflow: visible !important;
}
然后在AKT6:
@Override
public void onClick(View v) {
//startActivity (new Intent(Akt1.this,Akt2.class));
String data1 = "data1";
getSharedPreferences("YOURKEY", MODE_PRIVATE).edit().putString("someKey", data1).apply();
startActivity(new Intent (Akt1.this, Akt2.class));
}