Перенаправить мой текстовый вид на другой макет
Как сделать так, чтобы моя "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. В этом случае вы будете использовать один и тот же объект, и он более эффективен в использовании памяти, как бы сложнее его ни создавать.