【发布时间】:2023-03-23 03:22:01
【问题描述】:
我让 NAME 和 EMAIL 等于第一个活动中其他活动的数据。当我在 onActivityResult 中使用 NAME 和 EMAIL 烤面包时,它显示了结果,但除了这个方法之外,它在我将 NAME 和 EMAIL 设为全局变量旁边不起作用。
public class startActivity extends ActionBarActivity {
String sell="sell";
Toolbar mToolbar;
//////drawable navbar
LinearLayout mystore;
int REQUEST_CODE=10110;
private static ViewPager mPager;
private static int currentPage = 0;
private static int NUM_PAGES = 0;
LinearLayout buysell;
int PROFILE = R.drawable.sellit;
private Toolbar toolbar;
// Declaring the Toolbar Object
RecyclerView mRecyclerView; // Declaring
RecyclerView.Adapter mAdapter; // Declaring Adapter
RecyclerView.LayoutManager mLayoutManager; // Declaring Layout
DrawerLayout Drawer; // Declaring
ActionBarDrawerToggle mDrawerToggle;
/////
String name,mail;
String NAME;
String EMAIL;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
mystore=(LinearLayout)findViewById(R.id.mystore);
mystore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(startActivity.this,MybookStore.class));
}
});
//toolbar
init();
buysell=(LinearLayout)findViewById(R.id.buysell);
buysell.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(startActivity.this,buySecond.class));
}
});
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setTitle("MybookStore");
mRecyclerView = (RecyclerView) findViewById(R.id.RecyclerView);
mRecyclerView.setHasFixedSize(true);
mAdapter = new MyAdapter(TITLES,ICONS,NAME,EMAIL,PROFILE);
// And passing the titles,icons,header view name, header view email,
// and header view profile picture
mRecyclerView.setAdapter(mAdapter);
// Setting the adapter to RecyclerView
//RecyclerItemClickListener//
mLayoutManager = new LinearLayoutManager(this);
// Creating a layout Manager
mRecyclerView.setLayoutManager(mLayoutManager);
// Setting the layout Manager
mRecyclerView.addOnItemTouchListener(
new RecyclerItemClickListener(startActivity.this, new
RecyclerItemClickListener.OnItemClickListener() {
@Override public void onItemClick(View view, int position) {
switch(position){
case 1:
startActivity(new
Intent(startActivity.this,publishNewBook.class));
}
}
})
);
Drawer = (DrawerLayout) findViewById(R.id.DrawerLayout);
// Drawer object Assigned to the view
mDrawerToggle = new
ActionBar
DrawerToggle(this,Drawer,toolbar,R.string.drawer_open,R.string.drawer_c
lose){
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
// code here will execute once the drawer is opened( As I dont
want anything happened whe drawer is
// open I am not going to put anything here)
}
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
// Code here will execute once drawer is closed
}
}; // Drawer Toggle Object Made
Drawer.setDrawerListener(mDrawerToggle); // Drawer Listener set to the
Drawer toggle
// Finally we set the drawer toggle sync State
mDrawerToggle.syncState();
}
public void login(View view){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setMessage("Please Login To Publish Book ");
builder.setCancelable(false);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent i=new Intent(startActivity.this, userLogin.class);
startActivityForResult(i,REQUEST_CODE);
// startActivity(new Intent(startActivity.this, userLogin.class));
}
});
builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
//startActivity(new Intent(startActivity.this,userLogin.class));
}
protected void onActivityResult(int requestCode, int resultCode, Intent
data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==REQUEST_CODE){
if (resultCode ==110) {
NAME=new String(data.getStringExtra("name1"));
EMAIL=new String(data.getStringExtra("mail2"));
Toast.makeText(getApplicationContext(), "Name " + NAME+" and mailId
"+EMAIL+" get", Toast.LENGTH_LONG).show();
// mAdapter = new MyAdapter(TITLES,ICONS,NAME1,EMAIL1,PROFILE);
}
}
}
【问题讨论】:
-
1) 请提供minimal reproducible example 2) 当(或如果)您在发送
Intent data的活动中调用setResult时,我们需要查看您将变量放入Intent 的位置返回此活动 -
另外,“超出此方法”是什么意思?您的代码似乎没有执行该方法之外的任何操作,所以如果 Toast 显示您的变量,那么问题出在哪里?
标签: android android-intent android-activity