Как сначала показать выбранный вид в действии - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть активность в Android TextView, затем снова ListView TextView. Содержимое первого TextView занимает весь экран, и для просмотра ListView и второго TextView пользователь должен прокрутить список. Теперь я хочу показать второй TextView при запуске активности вместо первого TextView.

TextView1 when activity starts

when user scrolldown ListView and TextView2 are visible

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

EDITED

Пример кода по совету @ Urban

public class FocusTestActivity extends Activity {
private static final String TAG = "FocusTestActivity";
ScrollView scroll;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TextView text1 = (TextView) findViewById(R.id.text1);
    TextView text2 = (TextView) findViewById(R.id.text2);
    TextView text3 = (TextView) findViewById(R.id.text3);
    String hello = "We provide services to K-12 education sector."
            + "Our services include Feasibility report, Marketing, Curriculum design"
            + "Teachers planning, Design and Technology, Parents expectation"
            + "management, Transport planning, Day-to-day operations and Statutory"
            + "compliances. Please find a brief introduction attached with mail. Also visit"
            + "www.wissenways.com We can help you with overall process of setting-up school. We have"
            + "experience include establishing International, pre-school and CBSE"
            + "schools from scratch. Please feel free to contact if you need some help in your school venture."
            + "Best of Luck!<br/><br/>";

    text1.setText(Html.fromHtml(hello));
    text2.setText(Html.fromHtml(hello));
    text3.setText(Html.fromHtml(hello));
    ScrollView scroll = (ScrollView) findViewById(R.id.scrollcontainer);
}

public void onStart() {
    super.onStart();
    Log.d(TAG,"Inside onStart");
    scroll.post(new Runnable() {

        @Override
        public void run() {
            scroll.fullScroll(ScrollView.FOCUS_DOWN);
        }
    });
}

}

XML-код

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/scrollcontainer"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
   <LinearLayout android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:id="@+id/text1"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    android:textSize="17sp"/>
<TextView  
    android:id="@+id/text2"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    android:textSize="17sp"/>
<TextView  
    android:id="@+id/text3"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    android:textSize="17sp"/>
</LinearLayout>
</ScrollView>

LOGCAT выход:

LogCat Output

another LogCat OutPut

Ответы [ 3 ]

2 голосов
/ 30 ноября 2011
getScrollView().post(new Runnable() {

    @Override
    public void run() {
        getScrollView().fullScroll(ScrollView.FOCUS_DOWN);
    }
});

Использование этого кода в onCreate должно запустить представление прокрутки (в котором находятся ваш список и два текстовых представления) с нижней позиции.Я не знаю, почему вы хотели бы сделать это, и я предполагаю, что мог бы быть лучший способ сделать то, что вы хотите, вместо того, чтобы форсировать положение прокрутки вниз, но в любом случае ...
Это это вопрос, откуда взят код выше, вы могли бы его искать.

Надеюсь, это помогло.

1 голос
/ 30 ноября 2011

Вот 3 простых варианта, которые я могу вам дать:

  1. Поменяйся местами

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

  3. Показывать тост с текстом во втором текстовом просмотре в начале вашей деятельности (проблема с ним в том, что пользователь закрывает его, и вы хотите показать его снова, или пользователь хочет увидеть его снова, вам нужно запустить новый тост)

Я не совсем понимаю вашу трудность с этой проблемой

EDIT: когда первый текстовый вид должен отображаться вверху? если никогда просто не сделайте первый вариант: \ if в случае какого-либо события, пустое текстовое представление вверху и внизу и по коду измените его текст на то, что вы хотите в тот момент, когда вы хотите

0 голосов
/ 30 ноября 2011

Вы также можете использовать в своем XML-файле RealtiveLayout

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TextView 
    android:id="@+id/txtview2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
<ListView 
    android:id="@id/android:list"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:layout_below="@id/textview2/>
<TextView 
    android:id="@+id/txtview1"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:layout_below="@id/android:list"/>

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