2015-02-10 1 views
0

Когда я запустил это, я могу показать описание в текстовом виде (только текстовое отображение присутствует на весь экран), но я хочу показать, что в textview grid_text, который является элементом в мой xml-файл (activity_viewmore, у него есть несколько текстовых просмотров и прочее).Загрузите данные в соответствующее текстовое окно

public class viewmore extends Activity { 

    TextView descriptionTV; 
    private ActionBar actionBar; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     this.setContentView(R.layout.activity_viewmore); 

     String description = getIntent().getStringExtra("description"); 
     String imageUrl = getIntent().getStringExtra("imageUrl"); 

     descriptionTV = (TextView) findViewById(R.id.grid_text); 


     TextView textView = new TextView(this); 
     textView.setTextSize(10); 
     textView.setText(description); 

     setContentView(textView); 

    } 

ответ

2

Почему вы обновляете свой интерфейс пользователя дважды. Вы звоните setContentView() два раза. Поэтому, когда вы запускаете это, вы можете увидеть тот, который был выполнен позже, который содержит только TextView. То, что вы пытаетесь достичь может быть сделано как:

public class viewmore extends Activity { 

    TextView descriptionTV; 
    private ActionBar actionBar; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_viewmore); 

     String description = getIntent().getStringExtra("description"); 
     String imageUrl = getIntent().getStringExtra("imageUrl"); 

     descriptionTV = (TextView) findViewById(R.id.grid_text); 

     descriptionTV .setText(description); 

    } 
+0

это работало. как я могу загрузить изображения? когда я использовал этот imageUrlIV.setImageResource (imageUrl); - он дает ошибку для setImageResource –

1

насколько я понял вашу проблему, вы просто хотите применить описание к TextView в макете вместо того, чтобы заполнить весь экран с вновь созданным видом.

У вас уже есть все необходимое для этого. Вы ссылаетесь на правильный TextView с помощью findViewById и сохраняете его в описанииTV. Итак, вместо создания нового TextView вы можете вызвать «setText (description)» на описанииTV. Проблема с «только то, что textview присутствует на всем экране» - это ваша последняя строка кода, в которой вы говорите, что созданный TextView должен быть ContentView.

Так

descriptionTV = (TextView) findViewById(R.id.grid_text); 
descriptionTV.setText(description); 

должен делать эту работу, когда вы удаляете

setContentView(textView); 

, потому что этот вызов перезаписывает макет, который вы установили перед

this.setContentView(R.layout.activity_viewmore); 
0

Основываясь на моей низкой репутации Я не могу ответить на ваш комментарий, поэтому добавляю еще один ответ.

который работал. как я могу загрузить изображения? когда я использовал это imageUrlIV.setImageResource (imageUrl); - он дает ошибку для setImageResource - Джон Дэвид

Какие ошибки вы получаете и какой тип является ImageUrl из?

setImageResource() принимает только тип ресурса android integer. (R.drawable.test_image)

+0

Мне удалось найти ответ .. который является ImageView imageView = (ImageView) findViewById (R.id.grid_image); Picasso.with (this) .load (imageUrl) .into (imageView); –

Смежные вопросы