私のコードは次のとおり活性()メソッド
TableActivity.java
public class TableActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_table_selection);
itemName = (TextView) findViewById(R.id.itemName);
foodMenuLayout = (LinearLayout) findViewById(R.id.foodMenuLayout);
drinkMenuLayout = (LinearLayout) findViewById(R.id.drinksMenuLayout);
tableNo = (TextView) findViewById(R.id.tableNo);
foodMenu = (TextView) findViewById(R.id.foodMenu);
drinksMenu = (TextView) findViewById(R.id.drinksMenu);
tapLayout = (LinearLayout) findViewById(R.id.tapLayout);
foodImage = (ImageView) findViewById(R.id.foodImage);
drinkImage = (ImageView) findViewById(R.id.drinkImage);
getFoodTruckInfo();
tapLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tableList = TableList.getInstance(MyCart.getInstance().getTableNo());
tableList.setItemListener(TableActivity.this);
tableList.setCancelable(false);
tableList.show(getSupportFragmentManager(), null);
}
});
setFontStyle();
foodMenuLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (TextUtils.isEmpty(tableNo.getText().toString().trim())) {
Toast.makeText(TableActivity.this, "Please select table", Toast.LENGTH_SHORT).show();
} else {
lauchItemActivity();
}
}
});
drinkMenuLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (TextUtils.isEmpty(tableNo.getText().toString().trim())) {
Toast.makeText(TableActivity.this, "Please select table", Toast.LENGTH_SHORT).show();
} else {
lauchDrinksActivity();
}
}
});
}
private void lauchItemActivity() {
FoodtruckInfo foodtruckInfo = new FoodtruckInfo();
foodtruckInfo.setFoodTruckName(foodTruck.getFoodTruckName());
foodtruckInfo.setFoodTruckImage(foodTruck.getFoodTruckLogo());
foodtruckInfo.setFoodTruckId(foodTruck.getFoodTruckId());
foodtruckInfo.setOrderStatus(foodTruck.getFoodTruckOpenStatus());
Intent intent = new Intent(TableActivity.this, FoodTruckItemsActivity.class);
intent.putExtra(Consts.FOODTRUCK_INFO, foodtruckInfo);
intent.putExtra(Consts.IS_SEARCH, false);
intent.putExtra(Consts.IS_DRINKS, false);
intent.putParcelableArrayListExtra(Consts.FOODTRUCK_ITEM, (ArrayList<? extends Parcelable>) foodTruck.getFoodTruckItemList());
startActivityForResult(intent, Consts.ITEMS_ACTIVITY);
}
private void lauchDrinksActivity() {
FoodtruckInfo foodtruckInfo = new FoodtruckInfo();
foodtruckInfo.setFoodTruckName(foodTruck.getFoodTruckName());
foodtruckInfo.setFoodTruckImage(foodTruck.getFoodTruckLogo());
foodtruckInfo.setFoodTruckId(foodTruck.getFoodTruckId());
foodtruckInfo.setOrderStatus(foodTruck.getFoodTruckOpenStatus());
Intent intent = new Intent(TableActivity.this, FoodTruckDrinksActivity.class);
intent.putExtra(Consts.FOODTRUCK_INFO, foodtruckInfo);
intent.putExtra(Consts.IS_SEARCH, false);
intent.putExtra(Consts.IS_DRINKS, true);
intent.putParcelableArrayListExtra(Consts.FOODTRUCK_ITEM, (ArrayList<? extends Parcelable>) foodTruck.getFoodTruckDrinkList());
startActivityForResult(intent, Consts.DRINKS_ACTIVITY);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == Consts.ITEMS_ACTIVITY) {
lauchDrinksActivity();
} else if (requestCode == Consts.DRINKS_ACTIVITY) {
lauchItemActivity();
}
}
}
}
FoodTruckItemsActivity.java
public class FoodTruckItemsActivity extends AppCompatActivity implements
FoodTruckItemsAdapter.OnItemClickListener, FoodTruckItemFragment.FoodTruckItemListener,
ViewPager.OnPageChangeListener, View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_food_truck_item);
routeView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
routeToAnotherMenu();
}
});
}
private void routeToAnotherMenu() {
setResult(Activity.RESULT_OK);
}
}
FoodTruckItemsActivity.javaとFoodTruckDrinksActivity.javaは同一です。だから、私がここで欲しいのは、routeView
を押すと、FoodTruckItemsActivity.java
からFoodTruckDrinksActivity.java
に、またはその逆に切り替える必要があります。 そのために私はrouteToAnotherMenu()
メソッドを書いています。ここで問題となるのは、をrouteToAnotherMenu
の中に書き込まないと、別のアクティビティがロードされないということです。しかし、私がsetResult()
の後に仕上げを書くと、それは完璧に動作します。
なぜ私はデータを消去するので、そのメソッド内でfinish()を使用しないのが主な理由です。それで、finish()メソッドを書かずにそれを行う方法はありますか?
また、マニフェストファイルを –
に投稿すると、なぜstartActivityForResult()が使用されているのですか。あなたはstartActivity();を使ってこれを簡単な方法で呼び出すことができます –
@AniruddhPariharアクティビティの結果をトラッキングしたいと思います。 –