'분류 전체보기'에 해당되는 글 256건

public class MainActivity extends AppCompatActivity {

    ActionBar actionBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        actionBar = getSupportActionBar();
        actionBar.setLogo(R.drawable.home);
        actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME|ActionBar.DISPLAY_USE_LOGO);
    }

}

'android' 카테고리의 다른 글

하단탭 사용법  (0) 2020.02.02
상단탭 사용법  (0) 2020.02.02
ActionBar - 옵션 메뉴  (0) 2020.02.02
Fragment 인터페이스  (0) 2020.02.02
Fragment 사용법  (0) 2020.02.01
블로그 이미지

디츠

“말은 쉽지, 코드를 보여줘.” “Talk is cheap. Show me the code.” – 리누스 토르발스(Linus Torvalds)

,

* res > menu(폴더명 "menu"로 생성) > menu_main.xml 추가

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/menu_refresh"
        android:title="새로고침"
        android:icon="@drawable/refresh"
        app:showAsAction="always" />

    <item
        android:id="@+id/menu_search"
        android:title="새로고침"
        android:icon="@drawable/search"
        app:showAsAction="always" />

    <item
        android:id="@+id/menu_settings"
        android:title="새로고침"
        android:icon="@drawable/setting"
        app:showAsAction="always" />

</menu>

 

* onCreateOptionsMenu, onOptionsItemSelected 메서드 재정의

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main, menu);

        return true;
    }

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        int curId = item.getItemId();

        switch (curId) {
            case R.id.menu_refresh:
                showToast("새로고침 메뉴 선택됨");
                break;
            case R.id.menu_search:
                showToast("검색 메뉴 선택됨");
                break;
            case R.id.menu_settings:
                showToast("설정 메뉴 선택됨");
                break;
            default:
                break;
        }

        return super.onOptionsItemSelected(item);
    }

    public void showToast(String data) {
        Toast.makeText(this, data, Toast.LENGTH_LONG).show();
    }

}

'android' 카테고리의 다른 글

상단탭 사용법  (0) 2020.02.02
ActionBar - Home 아이콘 변경  (0) 2020.02.02
Fragment 인터페이스  (0) 2020.02.02
Fragment 사용법  (0) 2020.02.01
SharedPreferences 사용법  (0) 2020.02.01
블로그 이미지

디츠

“말은 쉽지, 코드를 보여줘.” “Talk is cheap. Show me the code.” – 리누스 토르발스(Linus Torvalds)

,

Fragment 인터페이스

android 2020. 2. 2. 15:02

* MainActivity.java

public class MainActivity extends AppCompatActivity implements Common {

    MainFragment mainFragment;
    MenuFragment menuFragment;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mainFragment = (MainFragment) getSupportFragmentManager().findFragmentById(R.id.mainFragment);
        menuFragment = new MenuFragment();
    }

    @Override
    public void onFragmentChanged(int index) {
        if (index == 0) {
            getSupportFragmentManager().beginTransaction().replace(R.id.container, mainFragment).commit();
        } else if (index == 1) {
            getSupportFragmentManager().beginTransaction().replace(R.id.container, menuFragment).commit();
        }
    }
}

* Common Interface.java

public interface Common {
    public void onFragmentChanged(int index);
}

* MainFragment.java

public class MainFragment extends Fragment {

    Common common;

    @Override
    public void onAttach(@NonNull Context context) {
        super.onAttach(context);

        if (context instanceof Common) {
            common = (Common) context;
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment_main, container, false);

        Button button = rootView.findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                common.onFragmentChanged(1);
            }
        });

        return rootView;
    }

}

* MenuFragment.java

public class MenuFragment extends Fragment {

    Common common;

    @Override
    public void onAttach(@NonNull Context context) {
        super.onAttach(context);

        if (context instanceof Common) {
            common = (Common) context;
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment_menu, container, false);

        Button button = rootView.findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                common.onFragmentChanged(1);
            }
        });

        return rootView;
    }

}

'android' 카테고리의 다른 글

ActionBar - Home 아이콘 변경  (0) 2020.02.02
ActionBar - 옵션 메뉴  (0) 2020.02.02
Fragment 사용법  (0) 2020.02.01
SharedPreferences 사용법  (0) 2020.02.01
Intent 값전달 및 받기  (0) 2020.02.01
블로그 이미지

디츠

“말은 쉽지, 코드를 보여줘.” “Talk is cheap. Show me the code.” – 리누스 토르발스(Linus Torvalds)

,

Fragment 사용법

android 2020. 2. 1. 17:02

* Fragment 추가 : New > Fragment > Fragment(Blank) > activity_main.xml 내용 추가

<fragment
    android:id="@+id/mainFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:name="com.example.fragment.MainFragment" />

* MainActivity.java

public class MainActivity extends AppCompatActivity {

    MainFragment mainFragment;
    MenuFragment menuFragment;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mainFragment = (MainFragment) getSupportFragmentManager().findFragmentById(R.id.mainFragment);
        menuFragment = new MenuFragment();
    }

    public void onFragmentChanged(int index) {
        if (index == 0) {
            getSupportFragmentManager().beginTransaction().replace(R.id.container, mainFragment).commit();
        } else if (index == 1) {
            getSupportFragmentManager().beginTransaction().replace(R.id.container, menuFragment).commit();
        }
    }
}

* MainFragment.java

public class MainFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment_main, container, false);

        Button button = rootView.findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MainActivity activity = (MainActivity) getActivity();
                activity.onFragmentChanged(1);
            }
        });

        return rootView;
    }

}

* MenuFragment.java

public class MenuFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment_menu, container, false);

        Button button = rootView.findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MainActivity activity = (MainActivity) getActivity();
                activity.onFragmentChanged(0);
            }
        });

        return rootView;
    }

}

* 주의사항 : Fragment는 FrameLayout 안에 추가

'android' 카테고리의 다른 글

ActionBar - 옵션 메뉴  (0) 2020.02.02
Fragment 인터페이스  (0) 2020.02.02
SharedPreferences 사용법  (0) 2020.02.01
Intent 값전달 및 받기  (0) 2020.02.01
Intent 사용법  (0) 2020.02.01
블로그 이미지

디츠

“말은 쉽지, 코드를 보여줘.” “Talk is cheap. Show me the code.” – 리누스 토르발스(Linus Torvalds)

,
@Override
protected void onPause() {
    super.onPause();
    
    SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
    SharedPreferences.Editor editor = pref.edit();
    editor.putString("name", editText.getText().toString());
    editor.commit();
}

@Override
protected void onResume() {
    super.onResume();
    
    SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
    if (pref != null) {
        String name = pref.getString("name", "");
        editText.setText(name);
    }
}

'android' 카테고리의 다른 글

Fragment 인터페이스  (0) 2020.02.02
Fragment 사용법  (0) 2020.02.01
Intent 값전달 및 받기  (0) 2020.02.01
Intent 사용법  (0) 2020.02.01
프로그레스바  (0) 2020.02.01
블로그 이미지

디츠

“말은 쉽지, 코드를 보여줘.” “Talk is cheap. Show me the code.” – 리누스 토르발스(Linus Torvalds)

,

* MainActivity.java

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getApplicationContext(), MenuActivity.class);
                startActivityForResult(intent, 101);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == 101) {
            if (data != null) {
                String name =data.getStringExtra("name");
                if (name != null) {
                    Toast.makeText(getApplicationContext(), "응답받은 데이터 : " + name, Toast.LENGTH_LONG).show();
                }
            }

        }
    }
}

* MenuActivity.java

public class MenuActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);

        Button button2 = findViewById(R.id.button2);
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.putExtra("name", "mike");
                setResult(RESULT_OK, intent);

                finish();
            }
        });
    }
}

'android' 카테고리의 다른 글

Fragment 사용법  (0) 2020.02.01
SharedPreferences 사용법  (0) 2020.02.01
Intent 사용법  (0) 2020.02.01
프로그레스바  (0) 2020.02.01
다이얼로그 메시지  (0) 2020.02.01
블로그 이미지

디츠

“말은 쉽지, 코드를 보여줘.” “Talk is cheap. Show me the code.” – 리누스 토르발스(Linus Torvalds)

,