Java 单击“操作”按钮更改活动?

Java 单击“操作”按钮更改活动?,java,android,xml,android-activity,Java,Android,Xml,Android Activity,如何使用操作按钮更改活动 package com.com.com; import android.app.Fragment; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; imp

如何使用操作按钮更改活动

package com.com.com;

import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;

public class HomeFragment extends Fragment {

public HomeFragment(){}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//In order for this method to receive calls
setHasOptionsMenu(true);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.fragment_home, container, false);

return rootView;
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.main, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
  // Handle presses on the action bar items
  switch (item.getItemId()) {
      case R.id.action_new1:
          Button switchButton = (Button) findViewById(R.id.btnsignin);


          switchButton.setOnClickListener(new View.OnClickListener() {


          @Override

          public void onClick(View v) {

          Intent intent = new Intent(HomeFragment.this, Login.class);

          startActivity(intent);

          }

          });


          }   
          return true;
      default:
          return super.onOptionsItemSelected(item);
  }
}
这是我当前的代码,但似乎不起作用。有人能解释一下如何让它工作吗?我知道我需要这个

    @Override
public boolean onOptionsItemSelected(MenuItem item) {
  // Handle presses on the action bar items
  switch (item.getItemId()) {
      case R.id.action_new1:
          openSearch();
          return true;
      default:
          return super.onOptionsItemSelected(item);
  }

但是如果我需要用转换代码替换
openSearch
,我就不需要了。任何帮助都会很好。

为什么要使用它所需要的按钮

必须在没有任何按钮的情况下工作:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.main, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
      case R.id.action_new1:

          Intent intent = new Intent( getActivity(), Login.class);
          getActivity().startActivity(intent);

          return true;
      default:
          return super.onOptionsItemSelected(item);
  }
}

你为什么要用那个按钮?它需要

必须在没有任何按钮的情况下工作:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.main, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
      case R.id.action_new1:

          Intent intent = new Intent( getActivity(), Login.class);
          getActivity().startActivity(intent);

          return true;
      default:
          return super.onOptionsItemSelected(item);
  }
}

你为什么要用那个按钮?它需要

必须在没有任何按钮的情况下工作:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.main, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
      case R.id.action_new1:

          Intent intent = new Intent( getActivity(), Login.class);
          getActivity().startActivity(intent);

          return true;
      default:
          return super.onOptionsItemSelected(item);
  }
}

你为什么要用那个按钮?它需要

必须在没有任何按钮的情况下工作:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.main, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
      case R.id.action_new1:

          Intent intent = new Intent( getActivity(), Login.class);
          getActivity().startActivity(intent);

          return true;
      default:
          return super.onOptionsItemSelected(item);
  }
}


可能是我试过的。但它不起作用。我做错了@K.C。当选择某个选项时,您只需添加一个单击侦听器。代码有点混乱。当选择一个选项时,您可以在OnOptions ItemSelected方法中收听,其他地方的任何按钮都需要一个监听器,您应该在该片段中放大布局后注册该监听器。因此,使用
按钮开关按钮=(按钮)findViewById(R.id.btnsignin)删除
openSearch
;switchButton.setOnClickListener(new View.OnClickListener(){@Override public void onClick(视图v){Intent Intent=new Intent(Start.this,Login.class);startActivity(Intent);}}}@KiteSurfer可能是我试过的。但它不起作用。我做错了@K.C。当选择某个选项时,您只需添加一个单击侦听器。代码有点混乱。当选择一个选项时,您可以在OnOptions ItemSelected方法中收听,其他地方的任何按钮都需要一个监听器,您应该在该片段中放大布局后注册该监听器。因此,使用
按钮开关按钮=(按钮)findViewById(R.id.btnsignin)删除
openSearch
;switchButton.setOnClickListener(new View.OnClickListener(){@Override public void onClick(视图v){Intent Intent=new Intent(Start.this,Login.class);startActivity(Intent);}}}@KiteSurfer可能是我试过的。但它不起作用。我做错了@K.C。当选择某个选项时,您只需添加一个单击侦听器。代码有点混乱。当选择一个选项时,您可以在OnOptions ItemSelected方法中收听,其他地方的任何按钮都需要一个监听器,您应该在该片段中放大布局后注册该监听器。因此,使用
按钮开关按钮=(按钮)findViewById(R.id.btnsignin)删除
openSearch
;switchButton.setOnClickListener(new View.OnClickListener(){@Override public void onClick(视图v){Intent Intent=new Intent(Start.this,Login.class);startActivity(Intent);}}}@KiteSurfer可能是我试过的。但它不起作用。我做错了@K.C。当选择某个选项时,您只需添加一个单击侦听器。代码有点混乱。当选择一个选项时,您可以在OnOptions ItemSelected方法中收听,其他地方的任何按钮都需要一个监听器,您应该在该片段中放大布局后注册该监听器。因此,使用
按钮开关按钮=(按钮)findViewById(R.id.btnsignin)删除
openSearch
;switchButton.setOnClickListener(new View.OnClickListener(){@Override public void onClick(视图v){Intent Intent=new Intent(Start.this,Login.class);startActivity(Intent);}}}@KitesurferI仍然存在相同的问题。很抱歉,您只是在一个片段中,而不是在活动中,您必须获取父活动“getActivity()”并将其传递到意图构造函数:),请检查我的编辑,它必须正常工作,登录必须是一个活动,我仍然存在相同的问题。很抱歉,您只是在一个片段中,而不是在活动中,您必须获取父活动“getActivity()”并在intent构造函数中传递它:),检查我的编辑它必须工作正常,登录必须是一个活动tooI仍然遇到相同的问题。很抱歉,只是得到了它,你在一个片段中不是活动,你必须得到父活动“getActivity()“并在意图构造函数中传递它:),检查我的编辑它必须工作正常,登录必须是活动,我仍然会遇到相同的问题。很抱歉,只是得到了它,你在片段中不是活动,你必须得到父活动“getActivity()”并在意图构造函数中传递它:),检查我的编辑它必须工作正常,登录也必须是活动