【问题标题】:Open new activity by clicking the button in fragment android通过单击片段android中的按钮打开新活动
【发布时间】:2016-05-25 19:45:27
【问题描述】:

我使用滑动操作选项卡我有 3 个选项卡(选项卡 1、选项卡 2、选项卡 3)

如何通过单击片段android中的按钮打开新活动

在标签 1 页面中有多个按钮我想点击例如按钮 1 打开新页面我该怎么做?

如何从片段打开新页面?

<?xml version="1.0" encoding="utf-8"?>    
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    
    android:layout_width="match_parent"   
    android:layout_height="match_parent"    
    android:orientation="vertical"    
    android:background="#2e2e2e" >

   <Button    
        android:id="@+id/button1"    
        android:layout_width="match_parent"    
        android:layout_height="wrap_content"    
        android:layout_alignParentLeft="true"    
        android:layout_alignParentTop="true"    
        android:layout_marginTop="15dp"    
        android:background="#00b3ff"    
        android:text="button 1"    
        android:textColor="#ffffff"    
        android:textColorHint="#ffffff"    
        android:textSize="22sp"    
        android:textStyle="bold" />

    <Button
        android:id="@+id/button2"    
        android:layout_width="match_parent"    
        android:layout_height="wrap_content"    
        android:layout_alignLeft="@+id/button1"    
        android:layout_below="@+id/button1"    
        android:layout_marginTop="15dp"    
        android:background="#00b3ff"    
        android:text="button 2"     
        android:textColor="#ffffff"    
        android:textColorHint="#ffffff"    
        android:textSize="22sp"    
        android:textStyle="bold"/>       

</RelativeLayout>

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

    你可以这样做:

    yourButton.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v){
            Intent intent = new Intent(getActivity(),NextActivity.class);
            getActivity().startActivity(intent);
        }
    });
    

    【讨论】:

    • 我在 TabFragment.java 中不是在 MainActivity.java 中做的,对吧?
    • 是的,如果在片段中声明了按钮,则必须在片段中进行。
    • 如何通过点击标签 1 中的按钮 1 打开新活动
    • 请帮我完成我的项目
    【解决方案2】:

    你只需要做你的意图。

    this.getActivity.startActivity(this.getApplicationContext(), ClassName.class);
    

    【讨论】:

    • 我在 TabFragment.java 中不是在 MainActivity.java 中做的,对吧?
    • 也一样,只需要用getActivity方法启动Activity即可。不知道难在哪里。把你的代码放在你的第一个问题中
    • 如何通过单击按钮 1 打开新活动
    • 当我单击 tab1 片段中的按钮时,我想转到另一个页面
    【解决方案3】:

    公共类 TipsFragment 扩展 Fragment {

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

    }

    【讨论】:

      【解决方案4】:
          @SuppressLint("NewApi")
          public class MainActivity extends FragmentActivity implements
              ActionBar.TabListener {
      
          private ViewPager viewPager;
          private TabsPagerAdapter mAdapter;
          private ActionBar actionBar;
          // Tab titles
          private String[] tabs = { "About", "Tips", "QuizGame" };
      
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
      
              // Initilization
              viewPager = (ViewPager) findViewById(R.id.pager);
              actionBar = getActionBar();
              mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
      
              viewPager.setAdapter(mAdapter);
              actionBar.setHomeButtonEnabled(false);
              actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        
      
              // Adding Tabs
              for (String tab_name : tabs) {
                  actionBar.addTab(actionBar.newTab().setText(tab_name)
                          .setTabListener(this));
              }
      
              /**
               * on swiping the viewpager make respective tab selected
               * */
              viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
      
                  @Override
                  public void onPageSelected(int position) {
                      // on changing the page
                      // make respected tab selected
                      actionBar.setSelectedNavigationItem(position);
                  }
      
                  @Override
                  public void onPageScrolled(int arg0, float arg1, int arg2) {
                  }
      
                  @Override
                  public void onPageScrollStateChanged(int arg0) {
                  }
              });
          }
      
          @Override
          public void onTabReselected(Tab tab, FragmentTransaction ft) {
          }
      
          @Override
          public void onTabSelected(Tab tab, FragmentTransaction ft) {
              // on tab selected
              // show respected fragment view
              viewPager.setCurrentItem(tab.getPosition());
          }
      
          @Override
          public void onTabUnselected(Tab tab, FragmentTransaction ft) {
          }
      
      }
      

      【讨论】:

        猜你喜欢
        • 2021-10-03
        • 2023-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-28
        • 2015-12-18
        • 1970-01-01
        • 2020-08-12
        相关资源
        最近更新 更多