Android-прокрутка не отображает строки - PullRequest
0 голосов
/ 18 октября 2011

Следующий класс предназначен для отображения набора строк, содержащихся в XML-файле. В методе onCreate массив строк извлекается из файла ресурсов. Эти строки представляют собой набор банальных анекдотов, которые добавляются в ArrayList объектов Joke (m_arrJokeList), созданных из строк.

Метод addJoke, вызываемый внутри метода onCreate, предназначен для отображения этих шуток в виде прокрутки в виде текста. Тем не менее, кажется, что ничего из этого не работает ни на моем устройстве, ни на эмуляторе, поэтому что-то определенно не так с кодом. Я хотел бы знать, как я могу это исправить, а также некоторые советы о том, как работать с этими представлениями.

Вот код, не полностью реализован .

package edu.calpoly.android.lab2;
import java.util.ArrayList;
    import android.app.Activity;
    import android.content.Context;
    import android.content.res.Resources;
    import android.os.Bundle;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.LinearLayout;
    import android.widget.ScrollView;
    import android.widget.TextView;
    import android.widget.Toast;

    public class SimpleJokeList extends Activity {

        // Contains the list Jokes the Activity will present to the user
        protected ArrayList<Joke> m_arrJokeList;

        // LinearLayout used for maintaining a list of Views that each display Jokes
        protected LinearLayout m_vwJokeLayout;

        // EditText used for entering text for a new Joke to be added to m_arrJokeList.
        protected EditText m_vwJokeEditText;

        // Button used for creating and adding a new Joke to m_arrJokeList using the
        // text entered in m_vwJokeEditText.
        protected Button m_vwJokeButton;

        // Background Color values used for alternating between light and dark rows
        // of Jokes.  
        protected int m_nDarkColor;
        protected int m_nLightColor;

        @Override
        public void onCreate(Bundle savedInstance) {
            super.onCreate(savedInstance);
            initLayout();
            Resources localRsrc;
            localRsrc = this.getResources();
            ArrayList<Joke> jokeList = new ArrayList<Joke>(); 
            String[] jokeStrings = localRsrc.getStringArray(R.array.jokeList);

            int size = jokeStrings.length;
            Joke tempJoke = new Joke();
            for(int i=0;i < size;i++)
            {
                tempJoke.setJoke(jokeStrings[i]);
                jokeList.add(tempJoke);
                addJoke(tempJoke);
            }
        }


        // Method used to encapsulate the code that initializes and sets the Layout
        // for this Activity. 
        protected void initLayout() {
            // TODO
            //LinearLayout rootLayout;
            m_arrJokeList = new ArrayList<Joke>();
            m_vwJokeLayout = new LinearLayout(this); // why pass "this"
            m_vwJokeLayout.setOrientation(LinearLayout.VERTICAL);

            ScrollView extendedView = new ScrollView(this.getApplicationContext());
            extendedView.addView(m_vwJokeLayout);
            setContentView(extendedView);

        }

        // Method used to encapsulate the code that initializes and sets the Event
        // Listeners which will respond to requests to "Add" a new Joke to the list. 
        protected void initAddJokeListeners() {
            // TODO
        }

        // Method used for encapsulating the logic necessary to properly initialize
        // a new joke, add it to m_arrJokeList, and display it on screen. 
        // @param strJoke
        //            A string containing the text of the Joke to add.
        protected void addJoke(Joke jk) {
            m_arrJokeList.add(jk);
            TextView textJoke = new TextView(this);
            textJoke.setText(jk.getJoke());
            m_vwJokeLayout.addView(textJoke);
        }
    }

1 Ответ

0 голосов
/ 18 октября 2011

положить

Joke tempJoke = new Joke(); 

в течение цикла

for(int i=0;i < size;i++) 
{ 
  Joke tempJoke = new Joke(); 
  tempJoke.setJoke(jokeStrings[i]); 
  jokeList.add(tempJoke); 
  addJoke(tempJoke); 
} 

тогда попробуй. и дай мне знать, что случилось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...