下面附上我自己编写的类
现在我想让shouye.java这个类去调用scroll.java这个类,Android Studio应该怎么去调用?求大神指点迷津

解决方案 »

  1.   

    scroll.java是activity还是一个普通类?activity的话就startActivity(new Intent(shouye.this,scroll.class))
      

  2.   

    如果是对类的操作,就在scroll类里面声明可操作的静态变量和方法,如果是对对象的操作,直接new一个scroll对象就可以了吧,要拿scroll这个类本身就是scroll.class
      

  3.   

    public class shouye {
        public class scroll extends AppCompatActivity {
            private ViewPager viewPager;
            private LinearLayout point_group;
            private TextView image_desc;
            // 图片资源id
            private final int[] images = {R.drawable.a, R.drawable.b, R.drawable.c,
                    R.drawable.d, R.drawable.e};
            // 图片标题集合
            private final String[] imageDescriptions = {"只有我",
                    "安静的", "守护着沙漠", "等待着花开", "郁欢"};        private ArrayList <ImageView> imageList;
            // 上一个页面的位置
            protected int lastPosition = 0;        // 判断是否自动滚动viewPager
            private boolean isRunning = true;        private Handler handler = new Handler() {
                public void handleMessage(android.os.Message msg) {
                    // 执行滑动到下一个页面
                    viewPager.setCurrentItem(viewPager.getCurrentItem() + 1);
                    if (isRunning) {
                        // 在发一个handler延时
                        handler.sendEmptyMessageDelayed(0, 2000);
                    }            }            ;
            };
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_shouye);
                //<editor-fold desc="Description">
                //图片切换框的调用
                viewPager = (ViewPager) findViewById(R.id.viewPager);
                point_group = (LinearLayout) findViewById(R.id.point_group);
                image_desc = (TextView) findViewById(R.id.image_desc);
                image_desc.setText(imageDescriptions[0]);
                // 初始化图片资源
                imageList = new ArrayList <ImageView>();
                for (int i : images) {
                    // 初始化图片资源
                    ImageView imageView = new ImageView(this);
                    imageView.setBackgroundResource(i);
                    imageList.add(imageView);
                    // 添加指示小点
                    ImageView point = new ImageView(this);
                    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(5,
                            5);
                    params.rightMargin = 20;
                    point.setLayoutParams(params);
                    point.setBackgroundResource(R.drawable.point_bg);
                    if (i == R.drawable.a) {
                        point.setEnabled(true);
                    } else {
                        point.setEnabled(false);
                    }                point_group.addView(point);
                }            viewPager.setAdapter(new scroll.MyPageAdapter());
                // 设置当前viewPager的位置
                viewPager.setCurrentItem(Integer.MAX_VALUE / 2
                        - (Integer.MAX_VALUE / 2 % imageList.size()));
                viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {                @Override
                    public void onPageSelected(int position) {
                        // 页面切换后调用, position是新的页面位置                    // 实现无限制循环播放
                        position %= imageList.size();                    image_desc.setText(imageDescriptions[position]);                    // 把当前点设置为true,将上一个点设为false
                        point_group.getChildAt(position).setEnabled(true);
                        point_group.getChildAt(lastPosition).setEnabled(false);
                        lastPosition = position;                }                @Override
                    public void onPageScrolled(int position, float positionOffset,
                                               int positionOffsetPixels) {
                        // 页面正在滑动时间回调                }                @Override
                    public void onPageScrollStateChanged(int state) {
                        // 当pageView 状态发生改变的时候,回调                }
                });            /**
                 * 自动循环: 1.定时器:Timer 2.开子线程:while true循环 3.ClockManger
                 * 4.用Handler发送延时信息,实现循环,最简单最方便
                 *
                 */            handler.sendEmptyMessageDelayed(0, 2000);
                //</editor-fold>        }        @Override
            protected void onDestroy() {
                // 停止滚动
                isRunning = false;
                super.onDestroy();
            }        private class MyPageAdapter extends PagerAdapter {
                // 需要实现以下四个方法            @Override
                public int getCount() {
                    // 获得页面的总数
                    return Integer.MAX_VALUE;
                }            @Override
                public boolean isViewFromObject(View view, Object object) {
                    // 判断view和Object对应是否有关联关系
                    if (view == object) {
                        return true;
                    } else {
                        return false;
                    }
                }            @Override
                public Object instantiateItem(ViewGroup container, int position) {
                    // 获得相应位置上的view; container view的容器,其实就是viewpage自身,
                    // position: viewpager上的位置
                    // 给container添加内容
                    container.addView(imageList.get(position % imageList.size()));                return imageList.get(position % imageList.size());
                }            @Override
                public void destroyItem(ViewGroup container, int position, Object object) {
                    // 销毁对应位置上的Object
                    // super.destroyItem(container, position, object);
                    container.removeView((View) object);
                    object = null;
                }        }
        }    public class Search extends AppCompatActivity    {        private String[] mStrs = {"aaa", "bbb", "ccc", "airsaid"};
            private SearchView mSearchView;
            private ListView mListView;        @Override
            protected void onCreate (Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mSearchView = (SearchView) findViewById(R.id.searchView);
            mListView = (ListView) findViewById(R.id.listView);
            mListView.setAdapter(new ArrayAdapter <String>(this, android.R.layout.simple_list_item_1, mStrs));
            mListView.setTextFilterEnabled(true);        // 设置搜索文本监听
            mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
                // 当点击搜索按钮时触发该方法
                @Override
                public boolean onQueryTextSubmit(String query) {
                    return false;
                }            // 当搜索内容改变时触发该方法
                @Override
                public boolean onQueryTextChange(String newText) {
                    if (!TextUtils.isEmpty(newText)) {
                        mListView.setFilterText(newText);
                    } else {
                        mListView.clearTextFilter();
                    }
                    return false;
                }
            });    }
        }
    }
    问一下大神们,我在一个类里面,写这样俩个方法,报错是没报错,但是程序崩溃了,请问能告诉我解决方法吗
      

  4.   

    我就是想在class里面调用search和scroll这俩个方法
      

  5.   

    创建了对象之后,运行APP,程序崩溃了
      

  6.   

    Java 入门和安卓基础建议看一下  ,一个Activity 一个界面,没必要整几个,完全可以写到一个layout里面