powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Текст в TextView
10 сообщений из 10, страница 1 из 1
Текст в TextView
    #38678006
TimRX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Столкнулся с проблемой вывода текста через TextView.
main
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
protected void onCreate(Bundle savedInstanceState) {
    	
    	super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ViewFragment topContainer = new ViewFragment(Constants.FRAGMENT_TOP_RESOURCE);
        ViewFragment underContainer = new ViewFragment(Constants.FRAGMENT_UNDER_RESOURCE);
        if (savedInstanceState == null) {
            getFragmentManager().beginTransaction()
                    .add(R.id.topContainer, topContainer)
                    .add(R.id.underContainer, underContainer)
                    .commit();
        }
        TextView textView = (TextView) findViewById(R.id.textview1);  
      	textView.setText("111");


under_container.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#f5c881"
    >
    <TextView
        android:id="@+id/textview1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    	android:text="@string/text"
    />
</RelativeLayout>



TextView находится в underContainer - фрагмент.
Вылетает исключение NullPointerException
...
Рейтинг: 0 / 0
Текст в TextView
    #38678089
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimRXTextView находится в underContainer - фрагмент.
Вылетает исключение NullPointerException
TextView во фрагменте, а ищешь в активити...
...
Рейтинг: 0 / 0
Текст в TextView
    #38678099
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Текст в TextView
    #38678265
TimRX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanПодскажу http://startandroid.ru/ru/uroki/vse-uroki-spiskom/176-urok-106-android-3-fragments-vzaimodejstvie-s-activity.html
Этот пример я смотрел. Там обращение к фрагменту идет из метода onClick(). Мне надо в методе onCreate().

wadmanTextView во фрагменте, а ищешь в активити...

Ошибку увидел .. поправил , но не работает.

Перепробовал разные варианты.
Идея в том что при создании активити в фрагмент.textView записывается определенное значение взятое из файла.

Упростил до пары строк , чтобы понять в чем ошибка
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class Main extends Activity {

	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Fragment frag2 = new Fragment2();
        FragmentManager fm = getFragmentManager();
        fm.beginTransaction().add(R.id.fragment2, frag2,"TagName").commit();
        ((TextView) frag2.getView().findViewById(R.id.textView)).setText("SomeText");
    }
}
...
Рейтинг: 0 / 0
Текст в TextView
    #38678289
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimRXУпростил до пары строк , чтобы понять в чем ошибка
И как нам тут понять, где и какая ошибка? Ни текста, ни стека, ни полного кода.
...
Рейтинг: 0 / 0
Текст в TextView
    #38678354
TimRX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanTimRXУпростил до пары строк , чтобы понять в чем ошибка
И как нам тут понять, где и какая ошибка? Ни текста, ни стека, ни полного кода.

Main.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
import android.app.Activity;
import android.os.Bundle;
import android.app.Fragment;
import android.app.FragmentManager;
import android.widget.TextView;

public class Main extends Activity {

	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Fragment frag2 = new Fragment2();
        FragmentManager fm = getFragmentManager();
        fm.beginTransaction().add(R.id.fragment2, frag2).commit();
        ((TextView) frag2.getView().findViewById(R.id.textView))
            .setText("SomeText");
	}
}



Fragment2.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Fragment2 extends Fragment {

	  final String LOG_TAG = "myLogs";
	  public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                             Bundle savedInstanceState) {
	      View v = inflater.inflate(R.layout.under_container, null);
	      return v;
	  }
}



activity_main.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <FrameLayout
         android:id="@+id/fragment2"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
   </FrameLayout>
</LinearLayout>



under_container.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#7700ff00"
    android:orientation="vertical">
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/frag2_text">
    </TextView>
</LinearLayout>



Ошибка
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
06-24 03:51:30.910: W/dalvikvm(2690): threadid=1: thread exiting with uncaught exception (group=0xb3aeeba8)
06-24 03:51:30.920: E/AndroidRuntime(2690): FATAL EXCEPTION: main
06-24 03:51:30.920: E/AndroidRuntime(2690): Process: ru.maivtu.easygallery, PID: 2690
06-24 03:51:30.920: E/AndroidRuntime(2690): java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.maivtu.easygallery/ru.maivtu.easygallery.Main}: java.lang.NullPointerException
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at android.app.ActivityThread.access$800(ActivityThread.java:135)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at android.os.Handler.dispatchMessage(Handler.java:102)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at android.os.Looper.loop(Looper.java:136)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at android.app.ActivityThread.main(ActivityThread.java:5017)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at java.lang.reflect.Method.invokeNative(Native Method)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at java.lang.reflect.Method.invoke(Method.java:515)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at dalvik.system.NativeStart.main(Native Method)
06-24 03:51:30.920: E/AndroidRuntime(2690): Caused by: java.lang.NullPointerException
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at ru.maivtu.easygallery.Main.onCreate(Main.java:27)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at android.app.Activity.performCreate(Activity.java:5231)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
06-24 03:51:30.920: E/AndroidRuntime(2690): 	... 11 more
06-24 03:56:31.280: I/Process(2690): Sending signal. PID: 2690 SIG: 9



Модератор: Добавил спойлеры.
...
Рейтинг: 0 / 0
Текст в TextView
    #38678367
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не вижу использования findFragmentById...
...
Рейтинг: 0 / 0
Текст в TextView
    #38678410
TimRX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanНе вижу использования findFragmentById...
По сути frag2 ссылается на один и тот же объект ... findFragmentById я думаю тут не нужен , но вдруг я не прав.


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
import android.app.Activity;
import android.os.Bundle;
import android.app.Fragment;
import android.app.FragmentManager;
import android.widget.TextView;

public class Main extends Activity {

	@Override
    protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Fragment frag2 = new Fragment2();
        FragmentManager fm = getFragmentManager();
        fm.beginTransaction().add(R.id.fragment2, frag2).commit();
        Fragment fragm2 = fm.findFragmentById(R.id.fragment2);
        ((TextView) fragm2.getView().findViewById(R.id.textView))
            .setText("SomeText");
	}
}




Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
06-24 04:47:56.990: W/dalvikvm(2741): threadid=1: thread exiting with uncaught exception (group=0xb3aeeba8)
06-24 04:47:57.000: E/AndroidRuntime(2741): FATAL EXCEPTION: main
06-24 04:47:57.000: E/AndroidRuntime(2741): Process: ru.maivtu.easygallery, PID: 2741
06-24 04:47:57.000: E/AndroidRuntime(2741): java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.maivtu.easygallery/ru.maivtu.easygallery.Main}: java.lang.NullPointerException
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at android.app.ActivityThread.access$800(ActivityThread.java:135)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at android.os.Handler.dispatchMessage(Handler.java:102)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at android.os.Looper.loop(Looper.java:136)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at android.app.ActivityThread.main(ActivityThread.java:5017)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at java.lang.reflect.Method.invokeNative(Native Method)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at java.lang.reflect.Method.invoke(Method.java:515)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at dalvik.system.NativeStart.main(Native Method)
06-24 04:47:57.000: E/AndroidRuntime(2741): Caused by: java.lang.NullPointerException
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at ru.maivtu.easygallery.Main.onCreate(Main.java:20)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at android.app.Activity.performCreate(Activity.java:5231)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
06-24 04:47:57.000: E/AndroidRuntime(2741): 	... 11 more
06-24 04:47:58.750: I/Process(2741): Sending signal. PID: 2741 SIG: 9
...
Рейтинг: 0 / 0
Текст в TextView
    #38678471
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно, в том месте view еще не создано. Можно из onStart обратиться
Код: java
1.
2.
3.
4.
5.
@Override
    public void onStart() {
        super.onStart();
        ((TextView)getFragmentManager().findFragmentById(R.id.container).getView().findViewById(R.id.textView)).setText("Hello world2!");
    }
...
Рейтинг: 0 / 0
Текст в TextView
    #38678534
TimRX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоже самое хотел написать ... не успел


Спасибо.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Текст в TextView
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]