android– 滑动布局中的Button SetOnClickListener NullPointerException

android– 滑动布局中的Button SetOnClickListener NullPointerException,第1张

概述每当我使用setOnClickListener方法运行应用程序时,我都会收到错误.否则它工作正常.你能帮我吗?packagecom.grozav.meetmeup;importcom.grozav.meetmeup.R;importcom.grozav.meetmeup.library.UserFunctions;importandroid.app.ActionBar;importandroid.app.ActionBar.T

每当我使用setonClickListener方法运行应用程序时,我都会收到错误.否则它工作正常.你能帮我吗?

package com.grozav.meetmeup;import com.grozav.meetmeup.R;import com.grozav.meetmeup.library.UserFunctions;import androID.app.Actionbar;import androID.app.Actionbar.Tab;import androID.app.Actionbar.TabListener;import androID.app.FragmentTransaction;import androID.content.Intent;import androID.os.Bundle;import androID.support.v4.app.Fragment;import androID.support.v4.app.FragmentActivity;import androID.support.v4.app.FragmentManager;import androID.support.v4.app.FragmentPagerAdapter;import androID.support.v4.vIEw.VIEwPager;import androID.support.v4.vIEw.VIEwPager.OnPagechangelistener;import androID.vIEw.VIEw;import androID.Widget.button;public class DashboardActivity extends FragmentActivity implements TabListener {UserFunctions userFunctions;VIEwPager vIEwPager;Actionbar actionbar;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.dashboard);    userFunctions = new UserFunctions();    if (!userFunctions.isUserLoggedIn(getApplicationContext())) {        // user is not logged in show login screen        Intent login = new Intent(getApplicationContext(),                LoginActivity.class);        login.addFlags(Intent.FLAG_ACTIVITY_CLEAR_top);        startActivity(login);        // Closing dashboard screen        finish();    }    vIEwPager = (VIEwPager) findVIEwByID(R.ID.pager);    vIEwPager.setAdapter(new MyAdapter(getSupportFragmentManager()));    vIEwPager.setonPagechangelistener(new OnPagechangelistener() {        public voID onPageSelected(int arg0) {            actionbar.setSelectednavigationItem(arg0);        }        public voID onPageScrolled(int arg0, float arg1, int arg2) {            // Todo auto-generated method stub        }        public voID onPageScrollStateChanged(int arg0) {            // Todo auto-generated method stub        }    });    actionbar = getActionbar();    actionbar.setNavigationMode(Actionbar.NAVIGATION_MODE_TABS);    Actionbar.Tab tabA = actionbar.newTab();    tabA.setText("My Profile");    tabA.setTabListener(this);    Actionbar.Tab tabB = actionbar.newTab();    tabB.setText("Meet Me Up");    tabB.setTabListener(this);    actionbar.addTab(tabA);    actionbar.addTab(tabB);    /*********************************            I GET THE ERROR HERE            *********************************/    button logout = (button) findVIEwByID(R.ID.btnlogout);    logout.setonClickListener(new VIEw.OnClickListener() {        public voID onClick(VIEw vIEw) {            Intent myIntent = new Intent(getApplicationContext(), LoginActivity.class); // fix VIEw.getContext() to getContext()            startActivity(myIntent);    // change to startActivity        }    });}public voID onTabReselected(Tab arg0, FragmentTransaction arg1) {    // Todo auto-generated method stub}public voID onTabSelected(Tab arg0, FragmentTransaction arg1) {    vIEwPager.setCurrentItem(arg0.getposition());}public voID onTabUnselected(Tab arg0, FragmentTransaction arg1) {    // Todo auto-generated method stub}}class MyAdapter extends FragmentPagerAdapter {public MyAdapter(FragmentManager fm) {    super(fm);    // Todo auto-generated constructor stub}@OverrIDepublic Fragment getItem(int arg0) {    Fragment fragment = null;    if (arg0 == 0) {        fragment = new FragmentA();    }    if (arg0 == 1) {        fragment = new FragmentB();    }    return fragment;}@OverrIDepublic int getCount() {    // Todo auto-generated method stub    return 2;}}

    dashboard.xml文件

<androID.support.v4.vIEw.VIEwPager   xmlns:androID="http://schemas.androID.com/apk/res/androID"xmlns:tools="http://schemas.androID.com/tools"androID:ID="@+ID/pager"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"tools:context=".DashboardActivity" />

    fragment_a.xml文件

<FrameLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"xmlns:tools="http://schemas.androID.com/tools"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:paddingBottom="@dimen/activity_vertical_margin"androID:paddingleft="@dimen/activity_horizontal_margin"androID:paddingRight="@dimen/activity_horizontal_margin"androID:paddingtop="@dimen/activity_vertical_margin"tools:context=".FragmentA" ><linearLayout    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical" >    <button        androID:ID="@+ID/btnlogout"        androID:layout_wIDth="fill_parent"        androID:layout_height="wrap_content"        androID:text="logout" /></linearLayout></FrameLayout>

这是我的第一个androID项目所以请不要太苛刻.非常感谢您的帮助!非常感谢你!

解决方法:

您需要在相应的片段中编写UI事件,试试这个,

public class FragmentA extends Fragment{    @OverrIDe    public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container,            Bundle savedInstanceState) {        VIEw vIEw=inflater.inflate(R.layout.fragment_a.xml, null);        button logout = (button)vIEw.findVIEwByID(R.ID.btnlogout);        logout.setonClickListener(new VIEw.OnClickListener() {           public voID onClick(VIEw vIEw) {              Intent myIntent = new Intent(getActivity(), LoginActivity.class);               startActivity(myIntent);    // change to startActivity           }        });        return vIEw;    }}
总结

以上是内存溢出为你收集整理的android – 滑动布局中的Button SetOnClickListener NullPointerException全部内容,希望文章能够帮你解决android – 滑动布局中的Button SetOnClickListener NullPointerException所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1114721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存