画面遷移のところの記述方法変えた
1 parent b39ea9c commit 79215368010aee2d0dae76ec0384acc8c4c9d494
n-konishi authored on 21 Dec 2018
Showing 10 changed files
View
49
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/MainActivity.java
import org.ntlab.radishforandroidstudio.R;
import org.ntlab.radishforandroidstudio.cactusClient.views.PlayerFragment;
import org.ntlab.radishforandroidstudio.cactusClient.views.StartFragment;
 
/**
* Cactusのメインアプリケーション
*/
 
public class MainActivity extends AppCompatActivity {
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//splash
// ここで5秒間スリープし、スプラッシュを表示させたままにする。
 
splash();
 
//fragmentの設定
Fragment fragment = new StartFragment();
addFragment(R.id.fragment_place, fragment, "StartFragment");
setContentView(R.layout.activity_main);
}
 
 
public void splash() {
//3秒間スリープし、スプラッシュを表示。
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
 
setTheme(R.style.AppTheme_NoActionBar);
setContentView(R.layout.activity_main);
}
 
//fragmentの設定
Fragment fragment;
fragment = new StartFragment();
getSupportFragmentManager().beginTransaction().add(R.id.fragment_place, fragment).commit();
setContentView(R.layout.activity_main);
protected void addFragment(int containerViewId, Fragment fragment, String tag) {
getSupportFragmentManager().beginTransaction().add(containerViewId, fragment, tag).commit();
}
 
protected void replaceFragment(int containerViewId, Fragment fragment, String tag, boolean flag) {
if (flag) {
getSupportFragmentManager().beginTransaction().replace(containerViewId, fragment, tag).addToBackStack(null).commit();
} else {
getSupportFragmentManager().beginTransaction().replace(containerViewId, fragment, tag).commit();
}
}
 
 
@Override
public void onBackPressed() {
FragmentManager manager = getSupportFragmentManager();
}
if (fragment instanceof PlayerFragment) {
manager.beginTransaction().remove(fragment).commit();
manager.popBackStack();
// super.onBackPressed();
return;
}
super.onBackPressed();
}
View
33
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/BaseFragment.java 0 → 100644
package org.ntlab.radishforandroidstudio.cactusClient.views;
 
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
 
import org.ntlab.radishforandroidstudio.R;
 
public class BaseFragment extends Fragment {
 
public BaseFragment() {
// Required empty public constructor
}
 
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_base, container, false);
return view;
}
 
 
protected void replaceFragment(int containerViewId, Fragment fragment, boolean flag) {
if (flag) {
getFragmentManager().beginTransaction().replace(containerViewId, fragment).addToBackStack(null).commit();
} else {
getFragmentManager().beginTransaction().replace(containerViewId, fragment).commit();
}
}
}
View
29
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/CharactersFragment.java
package org.ntlab.radishforandroidstudio.cactusClient.views;
 
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
 
public class CharactersFragment extends Fragment {
public class CharactersFragment extends BaseFragment {
private CharactersFragmentConnection connection;
private String instanceId;
private Account account;
private Cactus cactus;
button.setOnClickListener(new View.OnClickListener() {
 
@Override
public void onClick(View v) {
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.fragment_place, new InstancesFragment());
transaction.commit();
replaceFragment(R.id.fragment_place, new InstancesFragment(), false);
}
});
 
// ListViewをセット
con.addFormParam("characterID", characterIds.get(position));
con.setCallBack(new CallBack() {
@Override
public void onResponse(String response) {
Map<String, Player> player = JSON.decode(response, new TypeReference<HashMap<String, Player>>() {
});
Map<String, Player> player = JSON.decode(response, new TypeReference<HashMap<String, Player>>() {});
// TODO: 複数帰ってきた,もしくは帰ってこなかったときの処理
 
// プレイ画面へ
Bundle bundle = new Bundle();
bundle.putSerializable("player", (Player) player.values().toArray()[0]);
String[] splitedUri = ((String) (player.keySet().toArray()[0])).split("/");
bundle.putString("playerId", splitedUri[splitedUri.length - 1]);
bundle.putString("instanceId", instanceId);
 
PlayerFragment fragment = new PlayerFragment();
 
fragment.setArguments(bundle);
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.fragment_place, fragment);
transaction.addToBackStack(null);
replaceFragment(R.id.fragment_place, fragment,true);
characterIds.clear();
transaction.commit();
}
});
 
con.doPost();
}
});
}
View
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/InstancesFragment.java
View
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java
View
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/PlayerFragment.java
View
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/SignUpFragment.java
View
app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/StartFragment.java
View
app/src/main/java/org/ntlab/radishforandroidstudio/framework/gameMain/RealTime3DFragment.java
View
app/src/main/res/layout/fragment_base.xml 0 → 100644