ナビゲーション・アクティビティーをすでに作成しました。ナビゲーション・ドロワー・ヘッダーの画像をユーザー・プロファイル・イメージとして作成したいと思います。その画像のユーザ選択はギャラリーで行う必要があります。私は多くのチュートリアルを検索しました。私は解決策を得ていませんでした。私はそれのためのコードを必要とするか、この状況のための一致するチュートリアルをコメントしてください。誰もがこれを手伝ってくれます。ギャラリーから画像を選択する方法ユーザーのプロフィール画像のナビゲーションドロワーの画像ビューをクリックして
あなたがこのコードで画像クリックでイベントを追加することができますpublic class SecondActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
NavigationView navigationView = null;
Toolbar toolbar = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
DownloadFragment fragment = new DownloadFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction =
getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.second, menu);
return (super.onCreateOptionsMenu(menu));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.chat) {
startActivity(new Intent(SecondActivity.this, ChatFragment.class));
return (true);
} else if (item.getItemId() == R.id.upload) {
startActivity(new Intent(SecondActivity.this, UploadFlash.class));
return (true);
} else if (item.getItemId() == R.id.download) {
startActivity(new Intent(SecondActivity.this, DownloadFragment.class));
return (true);
} else if (item.getItemId() == R.id.action_settings) {
startActivity(new Intent(SecondActivity.this, SettingsFragment.class));
return (true);
} else if (item.getItemId() == R.id.offline) {
startActivity(new Intent(SecondActivity.this, OfflineNotesFragment.class));
return (true);
} else if (item.getItemId() == R.id.drawges) {
startActivity(new Intent(SecondActivity.this, OfflineNotesFragment.class));
return (true);
}
return (super.onOptionsItemSelected(item));
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.chat) {
// Handle the camera action
ChatFragment fragment = new ChatFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction =
getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
} else if (id == R.id.upload) {
UploadFlash fragment = new UploadFlash();
android.support.v4.app.FragmentTransaction fragmentTransaction =
getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
} else if (id == R.id.download) {
DownloadFragment fragment = new DownloadFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction =
getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
} else if (id == R.id.action_settings) {
SettingsFragment fragment = new SettingsFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction =
getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
} else if (id == R.id.offline) {
OfflineNotesFragment fragment = new OfflineNotesFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction =
getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
} else if (id == R.id.drawges) {
DrawingFragment fragment = new DrawingFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction =
getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
ターゲットSDKとは何ですか? –
ターゲットsdkは25です。 –
次に、以下の答えは機能しません。ギャラリーを開く前にランタイム権限を実装する必要があります。 –