无法解析OnClickListener

时间:2017-04-16 18:24:34

标签: java android android-studio

我是Android App开发课程的高中生。我正在为我的应用程序制作一个介绍滑块,带有按钮进入下一个活动。我遗憾地得到错误无法解析符号'OnClickListener'。我确保这都是在OnCreate()下编写的;方法并包含OnClickListener()的import语句;但它仍然无法解决符号。还有其他进口声明还是这个错位?您将在下面找到我的代码。

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.text.Html;
import android.text.Layout;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.view.View.OnClickListener;


public class SecondActivity extends AppCompatActivity {
    private ViewPagerAdapter viewPagerAdapter;
    private ViewPager viewPager;
    private IntroManager introManager;
    private TextView [] dots;
    private LinearLayout dotsLayout;
    private int[] layouts;
    Button next,skip;
    View view;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        introManager = new IntroManager(this);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.second_activity);
        if(!introManager.Check())
        {
            introManager.setFirst(false);
            Intent intent = new Intent(SecondActivity.this,ThirdActivity.class);
            startActivity(intent);
            finish();
        }
        layouts= new int[]{R.layout.second_activity,R.layout.third_activity,R.layout.fourth_activity,R.layout.fifth_activity};
        if(Build.VERSION.SDK_INT>=21){
            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE|View.SYSTEM_UI_FLAG_FULLSCREEN);
        }
        viewPager = (ViewPager) findViewById(R.id.view_pager);
        dotsLayout= (LinearLayout) findViewById(R.id.layoutdots);
        skip = (Button) findViewById(R.id.btn_skip);
        next = (Button) findViewById(R.id.btn_next);
        addBottomDots(0);
        viewPagerAdapter= new ViewPagerAdapter();
        viewPager.setAdapter(viewPagerAdapter);
        viewPager.addOnPageChangeListener(viewListener);
        skip.setOnClickListener(new view.OnClickListener(){
            @Override
            public void onClick(View view){
                Intent intent = new Intent(SecondActivity.this,FifthActivity.class);
                startActivity(intent);
                finish();
            }

        });
        next.setOnClickListener(new view.OnClickListener(){
            @Override
            public void onClick(View view){

                int current = getItem(+1);
                if(current<layouts.length){
                    viewPager.setCurrentItem(current);
                }
                else
                {
                    Intent intent = new Intent(SecondActivity.this,ThirdActivity.class);
                    startActivity(intent);
                    finish();
                }
            }
        });

    }
    private void addBottomDots(int position){
        dots = new TextView[layouts.length];
        int [] colorActive = getResources().getIntArray(R.array.dot_active);
        int [] colorInactive = getResources().getIntArray(R.array.dot_inactive);
        dotsLayout.removeAllViews();
        for (int i = 0; i<dots.length; i++){
            dots[i]= new TextView(this);
            dots[i].setText(Html.fromHtml("&@8226;"));
            dots[i].setTextSize(35);
            dots[i].setTextColor(colorInactive[position]);
            dotsLayout.addView(dots[i]);
        }
        if(dots[position].length()>0){
            dots[position].setTextColor(colorActive[position]);
        }

    }
    private int getItem(int i){
        return viewPager.getCurrentItem() + 1;
    }
    ViewPager.OnPageChangeListener viewListener = new ViewPager.OnPageChangeListener(){
        @Override
        public void onPageScrolled(int position, float positionOffeet, int positionOffeetPixels){

        }
        @Override
        public void onPageSelected(int position)
        {
            addBottomDots(position);
            if (position==layouts.length-1){
                next.setText("PROCEED");
                skip.setVisibility(View.GONE);

            }else{
                next.setText("NEXT");
                skip.setVisibility(View.VISIBLE);
            }
        }
        @Override
        public void onPageScrollStateChanged(int state)
        {}

    }

;







    public void changetatusColor(){
        if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
            Window window = getWindow();
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            window.setStatusBarColor(Color.TRANSPARENT);
        }

    }
    public class ViewPagerAdapter extends PagerAdapter {
        private LayoutInflater layoutInflater;
        @Override
        public  Object instantiateItem(ViewGroup container, int position){
            layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View v = LayoutInflater.inflate(layouts[position],container,false);
            container.addView(v);
            return v;
        }
        @Override
        public int getCount(){
            return 0;
        }
        @Override
        public boolean isViewFromObject(View view,Object object){
            return view==object;
        }
        @Override
        public void destroyItem(ViewGroup container, int position, Object object){
            View v = (View) object;
            container.removeView(v);
        }

    }

}

1 个答案:

答案 0 :(得分:1)

只做其中一个:

import android.view.View;

// note that View is uppercase
.setOnClickListener(new View.OnClickListener() {
import android.view.View.OnClickListener;

.setOnClickListener(new OnClickListener() {