Eclipse警告:断点问题的可能原因?

时间:2013-12-12 19:38:38

标签: java android eclipse

我收到了几个Eclipse“警告”,我认为它们可能会导致我在另一篇文章中遇到的问题:

https://stackoverflow.com/questions/20550417/cannot-reach-breakpoint

我有两个问题:

  1. 回答我的其他帖子的人似乎认为这与我的位置值有关 - 我无法到达断点的原因是否与这些警告之一相关? viewpager不起作用 - 我无法设置断点 - 而且我收到了几个关于它的警告。

  2. 如何解决这些问题? (确保我到达断点 - 不仅仅是删除非功能代码:我需要它才能工作)

  3. 基本上我需要弄清楚当前源代码中导致我的非功能性viewpager的内容以及无法在下面的当前源代码中设置断点:

    Eclipse警告:

    The method onTabChanged(PagerAdapter, int, int) from the type Home.ImagePagerAdapter is never used locally:
    
    is occurring on the line: protected void onTabChanged(final PagerAdapter adapter,
    
    
    
     The value of the field Home.ImagePagerAdapter.stringArray is not used:
    
    is occurring on the line: private String[] stringArray = new String[] { "vevo",
    
    
     The constructor Home.ImagePagerAdapter(Activity, int[], String[]) is never used locally:
    
    is occurring on the line: public ImagePagerAdapter(Activity act, int[] mImages,
    
    
    
     Multiple markers at this line
        - The value of the local variable mPageChangeListener is 
         not used
        - The value of the local variable mPageChangeListener is 
         not used:
    
    is occurring on the line:    final ViewPager.SimpleOnPageChangeListener mPageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
    

    JAVA

    public class Home extends YouTubeBaseActivity implements
    
    VideoClickListener {
        // A reference to our list that will hold the video details
        private VideosListView listView;
        private ActionBarDrawerToggle actionBarDrawerToggle;
        public static final String API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXX";
        public static final String VIDEO_ID = "o7VVHhK9zf0";
        private int mCurrentTabPosition = NO_CURRENT_POSITION;
        private static final int NO_CURRENT_POSITION = -1;
        private DrawerLayout drawerLayout;
        private ListView drawerListView;
        private String[] drawerListViewItems;
        private ViewPager mPager;
        ScrollView mainScrollView;
        Button fav_up_btn1;
        Button fav_dwn_btn1;
        String TAG = "DEBUG THIS";
        String playlist = "burtonbcell3";
        Activity activity;
        int imageArray[];
        String[] stringArray;
    
        private OnPageChangeListener mPageChangeListener;
        ImagePagerAdapter adapter = new ImagePagerAdapter();
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.home);
            final ActionBar actionBar = getActionBar();
            final ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
    
            viewPager.setAdapter(adapter);
    
            actionBar.setCustomView(R.layout.actionbar_custom_view_home);
            actionBar.setDisplayShowTitleEnabled(false);
            actionBar.setDisplayShowCustomEnabled(true);
            drawerListViewItems = getResources().getStringArray(R.array.items);
            drawerListView = (ListView) findViewById(R.id.left_drawer);
            drawerListView.setAdapter(new ArrayAdapter<String>(this,
                    R.layout.drawer_listview_item, drawerListViewItems));
    
            drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
            actionBarDrawerToggle = new ActionBarDrawerToggle(this, /* host Activity */
            drawerLayout, /* DrawerLayout object */
            R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */
            R.string.drawer_open, /* "open drawer" description */
            R.string.drawer_close /* "close drawer" description */
            );
            drawerLayout.setDrawerListener(actionBarDrawerToggle);
    
            getActionBar().setDisplayHomeAsUpEnabled(true);
    
            drawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
                    GravityCompat.START);
    
            listView = (VideosListView) findViewById(R.id.videosListView);
            listView.setOnVideoClickListener(this);
            new GetYouTubeUserVideosTask(responseHandler, playlist).execute();
            setOnPageChangeListener(mPageChangeListener);
            final ViewPager.SimpleOnPageChangeListener mPageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
    
                @Override
                public void onPageSelected(int position) {
                    onTabChanged(mPager.getAdapter(), mCurrentTabPosition, position);
                    position = mCurrentTabPosition;
                    int oldPos = viewPager.getCurrentItem();
                    if (position > oldPos) {
    
                        System.out.print(position);
                        // Moving to the right
                        String playlist = "TheMozARTGROUP‎";
                        new GetYouTubeUserVideosTask(responseHandler, playlist)
                                .execute();
    
                        View vg = findViewById(R.layout.home);
                        vg.invalidate();
    
                    } else if (position < oldPos) {
                        // Moving to the Left
                        System.out.print(position);
                        String playlist = "TheMozARTGROUP‎";
                        new GetYouTubeUserVideosTask(responseHandler, playlist)
                                .execute();
    
                        View vg = findViewById(R.layout.home);
                        vg.invalidate();
    
                    }
                }
    
                private void onTabChanged(PagerAdapter adapter,
                        int mCurrentTabPosition, int position) {
                    // TODO Auto-generated method stub
    
                }
            };
    
        }
    
        private void setOnPageChangeListener(
                OnPageChangeListener mPageChangeListener2) {
            // TODO Auto-generated method stub
    
        }
    
        Handler responseHandler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                populateListWithVideos(msg);
            };
        };
    
        private void populateListWithVideos(Message msg) {
            Library lib = (Library) msg.getData().get(
                    GetYouTubeUserVideosTask.LIBRARY);
            listView.setVideos(lib.getVideos());
        }
    
        @Override
        protected void onStop() {
            responseHandler = null;
            super.onStop();
        }
    
        @Override
        public void onVideoClicked(Video video) {
            Intent intent = new Intent(this, Player.class);
            intent.putExtra("id", video.getId());
            intent.putExtra("title", video.getTitle());
            intent.putExtra("uploader", video.getUploader());
            intent.putExtra("viewCount", video.getviewCount());
            startActivity(intent);
        }
    
        @Override
        public void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);
            actionBarDrawerToggle.onConfigurationChanged(newConfig);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.main, menu);
            return super.onCreateOptionsMenu(menu);
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
    
            if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
                return true;
            }
            return super.onOptionsItemSelected(item);
        }
    
        private class ImagePagerAdapter extends PagerAdapter {
            public ImagePagerAdapter(Activity act, int[] mImages,
                    String[] stringArra) {
                imageArray = mImages;
                activity = act;
                stringArray = stringArra;
            }
    
            // this is your constructor
            public ImagePagerAdapter() {
                super();
    
            }
    
            private int[] mImages = new int[] { R.drawable.selstation_up_btn,
                    R.drawable.classical_up_btn, R.drawable.country_up_btn,
                    R.drawable.dance_up_btn, R.drawable.hiphop_up_btn,
                    R.drawable.island_up_btn, R.drawable.latin_up_btn,
                    R.drawable.pop_up_btn, R.drawable.samba_up_btn };
    
            private String[] stringArray = new String[] { "vevo",
                    "TheMozARTGROUP‎", "TimMcGrawVEVO‎", "TiestoVEVO‎",
                    "EminemVEVO‎" };
    
            @Override
            public int getCount() {
                return mImages.length;
            }
    
            @Override
            public boolean isViewFromObject(View view, Object object) {
                return view == ((ImageView) object);
            }
    
            @Override
            public Object instantiateItem(ViewGroup container, int position) {
                Context context = Home.this;
                ImageView imageView = new ImageView(context);
                imageView.setScaleType(ScaleType.FIT_XY);
                imageView.setImageResource(mImages[position]);
                ((ViewPager) container).addView(imageView, 0);
                return imageView;
            }
    
            @Override
            public void destroyItem(ViewGroup container, int position, Object object) {
                ((ViewPager) container).removeView((ImageView) object);
            }
    
            protected void onTabChanged(final PagerAdapter adapter,
                    final int oldPosition, final int newPosition) {
                // Calc if swipe was left to right, or right to left
                if (oldPosition > newPosition) {
                    // left to right
                } else {
                    // right to left
    
    
                }
                final ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
    
            }
        }
    }
    

2 个答案:

答案 0 :(得分:0)

  1. 如果您从未在本地使用过XXX ,则表示您可以安全地删除方法XXX。 第一个警告意味着您的班级中有一些未使用的代码。这可能会降低整个代码的可读性。

  2. 如果您未使用YYY ,则可以安全地从代码中删除变量YYY。声明变量并且不使用它们会增加应用程序的内存消耗。由于它是一个Android应用程序,您应该特别关注程序的内存使用情况。

答案 1 :(得分:0)

我没有直接解决您的问题。但是,我建议您注释掉所有未使用的代码以消除您的警告。如果您的代码仍然无法正常工作,您至少排除了注释掉的代码导致问题。顺便说一下,这些都不是错误,而是警告。与错误不同,警告可以被忽略(虽然我不会)。每当我看到警告时,我怀疑作者没有仔细考虑过那个地方的设计,可能需要重新考虑。