Перенаправить мой текстовый вид на другой макет

Как сделать так, чтобы моя "sodrzina" отображалась на другом xml-макете... Вы можете видеть, что я сделал несколько попыток с setContentView(R.layout.sodrzina); .. с этим методом я открываю другой макет по клику, но нет содержимого. Как показать мой контент там?

         View.OnClickListener 
        getOnClickDoSomething(final Button button)  {
    return new View.OnClickListener() {         
    public void onClick (View v){
        //TextView View = (TextView) findViewById(R.id.viewSodrzina);
        setContentView(R.layout.sodrzina);
         TextView View = (TextView) findViewById(R.id.viewSodrzina);
         String sodrzina="";
    }

    }
        String sodrzina="";

    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://www.cook-recipes.hostoi.com/jsonscript/sodrzina.php?sodrzina="+(button.getText()).toString().replace(" ","%20"));
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        InputStream webs = entity.getContent();

        try{
            BufferedReader reader = new BufferedReader(new InputStreamReader(webs,"iso-8859-1"),8);
            //myListView.setText(reader.readLine());

            int askiChar=0;
            while((askiChar =reader.read())!=-1)
            {
            sodrzina+= ((char)askiChar);
            }
            webs.close();
            reader.close();

        }catch(Exception e){
            Log.e("log_tag","Error converting reslt"+e.toString());
        }

        //TextView prikaziSodrzina = (TextView)findViewById(R.id.viewSodrzina);
        //Toast.makeText(Desert.this,sodrzina, Toast.LENGTH_LONG).show();
        //prikaziSodrzina.append(sodrzina);

    //  View.append(sodrzina);



    }
    catch (Exception e)
    {
        Log.e("ERROR","ERROR IN CODE: "+e.toString());
        e.printStackTrace();
    }
    }

1 ответ

Решение

Попробуйте повторно использовать макеты с помощью include. Это позволит вам использовать тот же код макета. Как бы то ни было, макет будет создан дважды. Думайте об этом как о наследовании объекта. Альтернативой является использование addView и removeView. В этом случае вы будете использовать один и тот же объект, и он более эффективен в использовании памяти, как бы сложнее его ни создавать.

Другие вопросы по тегам