Search code examples
javaandroidcompiler-errorsandroid-sqlitetextswitcher

TextSwitcherActivity, cannot resolve symbol


thank you. I wanted to add a simple TextSwitcher to a fragment, it's all good (I think) till this line:

TextView t = new TextView (TextSwitcherActivity.this);

I am missing out why it cannot resolve the symbol: TextSwitcherActivity. Please, if you have any suggestions I would truly appreciate.

Here is the whole Java code, I believe is by the book, nothing new.

public class viewOne extends AppCompatActivity {
    TextSwitcher switching;
    Button pre_button, next_button;
    String strTextSwitcher[] = {"Text 1", "Text 2", "Text 3, Text 4", "Text demo 5"};
    int currentIndex = -1;
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_view_one);
        next_button=(Button)findViewById(R.id.next_button);
        pre_button=(Button)findViewById(R.id.pre_button);
        switching=(TextSwitcher)findViewById(R.id.switching);
        switching.setFactory(new ViewSwitcher.ViewFactory() {

            public View makeView() {

                TextView t = new TextView (TextSwitcherActivity.this);
                t.setGravity(Gravity.TOP|Gravity.CENTER);
                t.setTextSize(36);
                return t;
            }
        });
        switching.setCurrentText("click on the next button to switch text");
        pre_button.setOnClickListener(new View.OnClickListener(){
            @Override
                    public void onClick(View view){
                if (currentIndex>0)
                    switching.setText(strTextSwitcher[currentIndex]);
            }
        });
        next_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (currentIndex<strTextSwitcher.length-1)
                    currentIndex = currentIndex+1;
                switching.setText(strTextSwitcher[currentIndex]);
            }
        });
    }
}

Solution

  • Try

    TextView t = new TextView (this);
    //or
    TextView t = new TextView (viewOne.this);