How to take parameter from within the popup?

1

I have a screen where I hide the pages, and when I clicked on the page it opens a pop up where I can enter the value of the pages instead of going through.

The page is nothing more than the ID of my values in the database, and I only write what I read in the ID.

When I run the code it fails on that line

valor = etpage.getText().toString();

where value is a global scope variable, of type String, and the editable field that receives only accepts number.

the code that generates the pop up

    @Override
public void onWindowFocusChanged(boolean hasFocus) {
    int[] location = new int[2];
    Button button = (Button) findViewById(R.id.tv2);

    button.getLocationOnScreen(location);

    p.x = location[0];
    p.y = location[1];
}

@SuppressWarnings("deprecation")
public void showPopup(final Activity context, Point p) {
    int popupWidth = 300;
    int popupHeight = 400;
    LinearLayout viewGroup = (LinearLayout) context.findViewById(R.id.popup);
    LayoutInflater layoutInflater = (LayoutInflater) 
            context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View layout = layoutInflater.inflate(R.layout.popup, viewGroup);
    final PopupWindow popup = new PopupWindow(context);
    popup.setContentView(layout);
    popup.setWidth(popupWidth);
    popup.setHeight(popupHeight);
    popup.setFocusable(true);

    popup.setBackgroundDrawable(new BitmapDrawable());
    popup.showAtLocation(layout, 
            Gravity.NO_GRAVITY, 1, 1 );
    Button close = (Button) layout.findViewById(R.id.buttonir);
    close.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            valor = etpage.getText().toString();
            popup.dismiss();


        }
    });

}

}

screenerror:unknownerror:Java.Lang.NullPointerException

publicclassMainActivityextendsActionBarActivity{SQLiteDatabaseBanco=null;Cursorcursor;ToggleButtonbt01,bt02,bt03,bt04,bt05,bt06,bt07,bt08,bt09,bt10,bt11,bt12,bt13,bt14,bt15;Buttonbtnext,btprevious,pageview,btdescricao,botaopage;EditTextetpage,etpage2;intpage=1;Stringvalor="1";
int progress;
private Point p = new Point();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.activity_main);
    Log.i("main", "Executou o onCreate();");
    abrebanco();
iniciaobjetos();
    Intent ipage = getIntent();
    page = ipage.getIntExtra("pagina2", 1);
    if (page<10)
        pageview.setText("0"+String.valueOf(page));
    else pageview.setText(String.valueOf(page));
    buscardados();
    setacursor(page);
    escrevebotao();

    btprevious.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (page>1)
                page--;
            else
                page=60;
            setacursor(page);
            escrevebotao();
            if (page<10)
                pageview.setText("0"+String.valueOf(page));
            else pageview.setText(String.valueOf(page));
        }

    });
    btprevious.setOnLongClickListener(new View.OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {



            if (page>1)
                page--;
            else
                page=60;
            setacursor(page);
            escrevebotao();
            if (page<10)
                pageview.setText("0"+String.valueOf(page));
            else pageview.setText(String.valueOf(page));

            return false;


        }
    });



    btnext.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (page<60)
                page++;
            else
                page=1;
            setacursor(page);
            escrevebotao();
            if (page<10)
                pageview.setText("0"+String.valueOf(page));
            else pageview.setText(String.valueOf(page));
        }

    });
    botaopage.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {


            if (p != null)
                showPopup(MainActivity.this, p);
                page = Integer.valueOf(valor);
                if (page>60)
                    page=60;
                if (page<0)
                    page=0;
                if (page<10)
                    pageview.setText("0"+String.valueOf(page));
                else pageview.setText(String.valueOf(page));
        }


    });




}


public void setacursor(Integer pagina){
    cursor.moveToPosition(pagina-1);

}


private void escrevebotao() {
    btdescricao.setText(retornadado("bt"));
    bt01.setTextOff("01 \n" + retornadado("bt01"));
    bt01.setText("01 \n" + retornadado("bt01"));
    bt01.setTextOn("01\n" + retornadado("bt01"));
    bt02.setTextOff("02 \n" + retornadado("bt02"));
    bt02.setText("02 \n" + retornadado("bt02"));
    bt02.setTextOn("02 \n" + retornadado("bt02"));
    bt03.setTextOff("03 \n" + retornadado("bt03"));
    bt03.setText("03 \n" + retornadado("bt03"));
    bt03.setTextOn("03 \n" + retornadado("bt03"));
    bt04.setTextOff("04 \n" + retornadado("bt04"));
    bt04.setText("04 \n" + retornadado("bt04"));
    bt04.setTextOn("04 \n" + retornadado("bt04"));
    bt05.setTextOff("05 \n" + retornadado("bt05"));
    bt05.setText("05 \n" + retornadado("bt05"));
    bt05.setTextOn("05 \n" + retornadado("bt05"));
    bt06.setTextOff("06 \n" + retornadado("bt06"));
    bt06.setText("06 \n" + retornadado("bt06"));
    bt06.setTextOn("06 \n" + retornadado("bt06"));
    bt07.setTextOff("07 \n" + retornadado("bt07"));
    bt07.setText("07 \n" + retornadado("bt07"));
    bt07.setTextOn("07 \n" + retornadado("bt07"));
    bt08.setTextOff("08 \n" + retornadado("bt08"));
    bt08.setText("08 \n" + retornadado("bt08"));
    bt08.setTextOn("08 \n" + retornadado("bt08"));
    bt09.setTextOff("09 \n" + retornadado("bt09"));
    bt09.setText("09 \n" + retornadado("bt09"));
    bt09.setTextOn("09 \n" + retornadado("bt09"));
    bt10.setTextOff("10 \n" + retornadado("bt10"));
    bt10.setText("10 \n" + retornadado("bt10"));
    bt10.setTextOn("10 \n" + retornadado("bt10"));
    bt11.setTextOff("11 \n" + retornadado("bt11"));
    bt11.setText("11 \n" + retornadado("bt11"));
    bt11.setTextOn("11 \n" + retornadado("bt11"));
    bt12.setTextOff("12 \n" + retornadado("bt12"));
    bt12.setText("12 \n" + retornadado("bt12"));
    bt12.setTextOn("12 \n" + retornadado("bt12"));
    bt13.setTextOff("13 \n" + retornadado("bt13"));
    bt13.setText("13 \n" + retornadado("bt13"));
    bt13.setTextOn("13 \n" + retornadado("bt13"));
    bt14.setTextOff("14 \n" + retornadado("bt14"));
    bt14.setText("14 \n" + retornadado("bt14"));
    bt14.setTextOn("14 \n" + retornadado("bt14"));
    bt15.setTextOff("15 \n" + retornadado("bt15"));
    bt15.setText("15 \n" + retornadado("bt15"));
    bt15.setTextOn("15 \n" + retornadado("bt15"));


}


public void nextdado() {
    try{
        cursor.moveToNext();

    }
    catch(Exception erro){
        Exibirmensagem("ERRO!","Erro ao avançar com o " +
                "crusor:  "+ erro.getMessage() , "OK");

    }

}


private void iniciaobjetos() {
    try{
        bt01 = (ToggleButton) findViewById(R.id.btt1);
        bt02 = (ToggleButton) findViewById(R.id.btt2);
        bt03 = (ToggleButton) findViewById(R.id.btt3);
        bt04 = (ToggleButton) findViewById(R.id.btt4);
        bt05 = (ToggleButton) findViewById(R.id.btt5);
        bt06 = (ToggleButton) findViewById(R.id.btt6);
        bt07 = (ToggleButton) findViewById(R.id.btt7);
        bt08 = (ToggleButton) findViewById(R.id.btt8);
        bt09 = (ToggleButton) findViewById(R.id.btt9);
        bt10 = (ToggleButton) findViewById(R.id.btt10);
        bt11 = (ToggleButton) findViewById(R.id.btt11);
        bt12 = (ToggleButton) findViewById(R.id.btt12);
        bt13 = (ToggleButton) findViewById(R.id.btt13);
        bt14 = (ToggleButton) findViewById(R.id.btt14);
        bt15 = (ToggleButton) findViewById(R.id.btt15);
        btnext = (Button) findViewById(R.id.btNext);
        btprevious = (Button) findViewById(R.id.BtPrevious);
        pageview = (Button) findViewById(R.id.tv2);
        btdescricao = (Button) findViewById(R.id.btdescricao);
        botaopage = (Button)findViewById(R.id.tv2);
        etpage = (EditText)findViewById(R.id.etpage);

    }
    catch(Exception erro){
        Exibirmensagem("ERRO", "erro ao iniciar objetos" +erro.getMessage(),"OK");
    }

}


public void abrebanco(){
    try{
        Banco = openOrCreateDatabase("banco", MODE_WORLD_WRITEABLE, null);
        String sql = "CREATE TABLE IF NOT EXISTS pages (ID INTEGER PRIMARY KEY AUTOINCREMENT" +
                ", bt TEXT,bt01 TEXT, bt02 TEXT, bt03 TEXT, bt04 TEXT, bt05 TEXT, bt06 TEXT, " +
                "bt07 TEXT, bt08 TEXT, bt09 TEXT, bt10 TEXT, bt11 TEXT, bt12 TEXT, " +
                "bt13 TEXT, bt14 TEXT, bt15 TEXT)";
        Banco.execSQL(sql);

    }
    catch(Exception erro){
        Exibirmensagem("BANCO", "erro ao criar banco: =/"+ erro.getMessage(), "ok");
    }
}
public void fechabanco(){
    try{
        Banco.close();          
    }
    catch(Exception erro){
        Exibirmensagem("BANCO", "erro ao fechar banco: "+ erro.getMessage(), "ok");
    }
}

public boolean buscardados(){
    try{
        cursor = Banco.query("pages",
                new String [] {"bt","bt01","bt02","bt03","bt04","bt05",
                "bt06","bt07","bt08","bt09","bt10",
                "bt11","bt12","bt13","bt14","bt15"}
        , null, null, null, null, null);

        if (cursor.getCount() != 0){
            cursor.moveToFirst();

        }

        return true;
    }
    catch(Exception erro){
        Exibirmensagem("BANCO", "erro ao buscar no banco: "+ erro.getMessage(), "ok");
        return false;
    }
}





public String retornadado(String x){
    String dado = cursor.getString(cursor.getColumnIndex(x));
    return dado;
}


public void Exibirmensagem (String titulo, 
        String texto, String button)
{
    AlertDialog.Builder mensagem = 
            new AlertDialog.Builder(MainActivity.this);
    mensagem.setTitle(titulo);
    mensagem.setMessage(texto);
    mensagem.setNeutralButton(button,null);
    mensagem.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.

    int id = item.getItemId();
    if (id == R.id.menueditar) {
        Intent iedicao = new Intent(MainActivity.this, paginadeedicao.class);


        iedicao.putExtra("pagina", page);
        startActivity(iedicao);
        MainActivity.this.finish();
        //startActivity(new Intent(MainActivity.this, edicao.class));
        return true;
    }
    if (id == R.id.menusair) {
        AlertDialog.Builder mensagem = 
                new AlertDialog.Builder(MainActivity.this);
        mensagem.setTitle("Atenção?");
        mensagem.setMessage("Deseja realmente sair?");

        mensagem.setPositiveButton("Sim",new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog,int id) {
                MainActivity.this.finish();

            }});
        mensagem.setNegativeButton("Não",null);
        mensagem.show();
        return true;

    }
    if (id == R.id.menusobre) {
        Exibirmensagem("Playback View", "   Esse aplicativo foi desenvolvido com " +
                "objetivo de criar um roller digital e ecologicamente correto, para os " +
                "iluminadores utilizarem como guia dos seus playbacks. \n"+
                "   Todo o copyright ou direitos de propriedade intelectual " +
                "presente em Textos, Imagens, Sons, Softwares e outros conteúdos " +
                "do aplicativo, são de propriedade de Star Lighting Division! \n"+
                "   Em caso de sugestões, " +
                "dúvidas e outros, entre em contato conosco: " +
                "\n(19) 3838-8320 ou [email protected].", "OK");
        return true;
    }
    if (id == R.id.menusite) {
        Uri uriPaginaWeb = Uri.parse("http://star.ind.br/");
        Intent IPaginaWeb = new Intent(Intent.ACTION_VIEW,uriPaginaWeb);
        startActivity(IPaginaWeb);
        return true;
    }
    return super.onOptionsItemSelected(item);
}
@Override
protected void onStart() {
    super.onStart();
    Log.i("main", "Executou o onStart();");
}
@Override
protected void onResume() {
    super.onResume();
    Log.i("main", "Executou o onResume();");
}
@Override
protected void onPause() {
    super.onPause();
    Log.i("main", "Executou o onPause();");
}
@Override
protected void onStop() {
    super.onStop();
    Log.i("main", "Executou o onStop();");
}
@Override
protected void onDestroy() {
    super.onDestroy();
    //banco.close();
    Log.i("main", "Executou o onDestry();");
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
    int[] location = new int[2];
    Button button = (Button) findViewById(R.id.tv2);

    button.getLocationOnScreen(location);

    p.x = location[0];
    p.y = location[1];
}

@SuppressWarnings("deprecation")
public void showPopup(final Activity context, Point p) {
    int popupWidth = 300;
    int popupHeight = 400;
    Boolean x=false;
    etpage2 = (EditText) findViewById(R.id.buttonir);
    LinearLayout viewGroup = (LinearLayout) context.findViewById(R.id.popup);
    LayoutInflater layoutInflater = (LayoutInflater) 
            context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View layout = layoutInflater.inflate(R.layout.popup, viewGroup);
    final PopupWindow popup = new PopupWindow(context);
    popup.setContentView(layout);
    popup.setWidth(popupWidth);
    popup.setHeight(popupHeight);
    popup.setFocusable(true);

    popup.setBackgroundDrawable(new BitmapDrawable());
    popup.showAtLocation(layout, 
            Gravity.NO_GRAVITY, 1, 1 );
    Button close = (Button) layout.findViewById(R.id.buttonir);
    close.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            popup.dismiss();
            valor = etpage.getText().toString();

        }



    });


}

}

    
asked by anonymous 23.10.2014 / 15:55

1 answer

1

The method getText() returns an Editable and there is no equivalent parameter for String.valueOf() .

To get the EditText string, do so:

valor = etpage.getText().toString()
    
23.10.2014 / 16:03