2016-04-22 4 views
-1

私は、アプリケーションを作成しようとしています。私はナビゲーションドロワーの商品をクリックすると、別の行為を開く方法

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.net.HttpURLConnection; 
import java.net.URL; 
import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.List; 

import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

import com.google.android.gms.common.ConnectionResult; 
import com.google.android.gms.common.api.GoogleApiClient; 
import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks; 
import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener; 
import com.google.android.gms.location.LocationListener; 
import com.google.android.gms.location.LocationRequest; 
import com.google.android.gms.location.LocationServices; 
import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.OnMapReadyCallback; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.BitmapDescriptorFactory; 
import com.google.android.gms.maps.model.CameraPosition; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.Marker; 
import com.google.android.gms.maps.model.MarkerOptions; 

import android.app.FragmentManager; 
import android.app.FragmentTransaction; 
import android.content.Intent; 
import android.location.Address; 
import android.location.Geocoder; 
import android.location.Location; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.support.v4.app.ActionBarDrawerToggle; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.widget.DrawerLayout; 
import android.util.Log; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ListView; 
import android.widget.Toast; 

public class MainActivity extends FragmentActivity implements OnMapReadyCallback, ConnectionCallbacks, OnConnectionFailedListener, LocationListener{ 



DrawerLayout mDrawerLayout; 
ListView mDrawerList; 
ActionBarDrawerToggle mDrawerToggle; 
String mTitle=""; 

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

    mFragment=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map); 
    mFragment.getMapAsync(this); 

    editplace = (EditText) findViewById(R.id.editplace); 
    findbtn = (Button) findViewById(R.id.findbtn); 

    setListnerOnWidget(); 


    mTitle = (String) getTitle(); 
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
    mDrawerList = (ListView) findViewById(R.id.drawer_list); 
    mDrawerToggle = new ActionBarDrawerToggle(this, 
     mDrawerLayout, 
     R.drawable.ic_drawer, 
     R.string.drawer_open, 
     R.string.drawer_close){ 

      public void onDrawerClosed(View view) { 
       getActionBar().setTitle(mTitle); 
       invalidateOptionsMenu(); 
      } 

      public void onDrawerOpened(View drawerView) { 
       getActionBar().setTitle("Select a menu"); 
       invalidateOptionsMenu(); 
      } 
    }; 

    mDrawerLayout.setDrawerListener(mDrawerToggle); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
     getBaseContext(), 
     R.layout.drawer_list_item , 
     getResources().getStringArray(R.array.menu) 
    ); 

    mDrawerList.setAdapter(adapter); 
    getActionBar().setHomeButtonEnabled(true); 
    getActionBar().setDisplayHomeAsUpEnabled(true); 

    mDrawerList.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, 
      View view, 
      int position, 
      long id) { 

       String[] menu = getResources().getStringArray(R.array.menu); 
       mTitle = menu[position]; 
       MenuFragment rFragment = new MenuFragment(); 
       Bundle data = new Bundle(); 
       data.putInt("position", position); 
       rFragment.setArguments(data); 
       FragmentManager fragmentManager = getFragmentManager(); 
       FragmentTransaction ft = fragmentManager.beginTransaction(); 
       ft.replace(R.id.content_frame, rFragment); 
       ft.commit(); 

       mDrawerLayout.closeDrawer(mDrawerList); 
     } 
    }); 

    } 



} 

    @Override 
    protected void onPostCreate(Bundle savedInstanceState) { 
     super.onPostCreate(savedInstanceState); 
     mDrawerToggle.syncState(); 
    } 

     @Override 
     public boolean onPrepareOptionsMenu(Menu menu) { 
      // If the drawer is open, hide action items related to the content view 
      boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList); 

      menu.findItem(R.id.action_settings).setVisible(!drawerOpen); 
      return super.onPrepareOptionsMenu(menu); 
     } 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 


} 

次コード - を使用したナビゲーション・ドロワー上の項目をクリックすることで様々な活動を開く方法ソースコードを使用してアイテムをクリックする上で様々な活動を開く方法を教えてください。

おかげ

+0

はそれを読むために多くの時間を要するとしてのみ関連するコードを置きますあなたのコード全体 –

+0

今私は適切なコードを置いた、私に教えてください –

答えて

0

基本的にはちょうどstartActivityを呼び出します。

startActivity(new Intent(MainActivity.this, SecondActivity.class)); 
+0

大丈夫、私はplaをする必要があります教えてくださいこのコードをソースコード –

0

あなたはこのようにしてみ

mDrawerList.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, 
     //Call another acitivty here 
    } 
}); 
+0

私はこの場合に何をすべきか複数のアクティビティを持っています –

+0

@saurabh guptaは答えました – wanz

+0

私のソースコードを使って教えてください –

0
startActivity(new Intent(getActivity(), TargetActivity().class)) 
1

inisideここで別のAcitivityを開くには、startActivityを呼び出すことができます...

private Fragment fragment = null; 
     //when navigation item is selected by user 
      @Override 
    public void onDrawerItemSelected(View view, int position) { 
     displayView(position); 
    } 

    public void displayView(int position) { 
     String title = getString(R.string.app_name); 
     switch (position) { 
      case 0: 
       fragment = new fragment1();    
       break; 
      case 1: 
       fragment = new fragment2();    
       break; 
      case 2: 
       fragment = new fragment3();    
       break; 
      //and so on.......... 
      default: 
       break; 
     } 
     if (fragment != null) { 
      String[] menu = getResources().getStringArray(R.array.menu); 
       mTitle = menu[position]; 
       MenuFragment rFragment = new MenuFragment(); 
       Bundle data = new Bundle(); 
       data.putInt("position", position); 
       rFragment.setArguments(data); 
       FragmentManager fragmentManager = getFragmentManager(); 
       FragmentTransaction ft = fragmentManager.beginTransaction(); 
       ft.replace(R.id.content_frame, rFragment); 
       ft.commit(); 
     } 
    } 
+0

私のソースコードを使って教えてください –

+0

このコードを実装する方法を教えてください –

+0

@ AvinashSharma ..このメソッドをオーバーライドするだけです。 –

関連する問題