Форум программистов, компьютерный форум CyberForum.ru

set и get из fragment - Android

Восстановить пароль Регистрация
 
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 333
24.06.2013, 11:21     set и get из fragment #1
Здравствуйте!
Есть 3 таба которые реализованы с помощью fragment. На табах есть кнопки, текстовые поля и т.д. Подскажите пожалуйста, как из самого фрагмента можно, к примеру, считывать и задавать текст для TextView?
Принцып, как в Activity использовать не получается.
Java
1
2
3
4
//........
site_address = (EditText) getActivity().findViewById(R.id.site_address);
//......
goal_address = site_address.getText().toString();
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2013, 11:21     set и get из fragment
Посмотрите здесь:

Android Fragment and context
findViewById и Fragment Android
Android Кликабельные Fragment
Android Работа с Fragment
DialogFragment в Fragment Android
SwipeRefreshLayout + Fragment Android
Android Reload Fragment
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.06.2013, 13:03     set и get из fragment #2
Java
1
2
3
4
5
6
7
8
9
10
11
12
public class MyFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) {
        View fragment = inflater.inflate(R.layout.ragment, container, false);
 
        site_address = (EditText) fragment.findViewById(R.id.site_address);
        goal_address = site_address.getText().toString();
 
        return fragment;
    }
}
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 333
25.06.2013, 14:30  [ТС]     set и get из fragment #3
Пояему тогда не работает?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
    TextView text;
    View fragment;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        fragment = inflater.inflate(R.layout.fragment1, container, false);
        text = (TextView) fragment.findViewById(R.id.textView1);
 
        return fragment;
    }
    
    public void onClick(View v){
         text.setText("text");
    }
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.06.2013, 19:09     set и get из fragment #4
а где у вас клик лысенер задается?
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 333
25.06.2013, 22:42  [ТС]     set и get из fragment #5
В фрагменте в xml в Button
XML
1
 android:onClick="onClick"
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.06.2013, 23:56     set и get из fragment #6
и точно onClick срабатывает?
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 333
26.06.2013, 00:59  [ТС]     set и get из fragment #7
да
ошибка
Кликните здесь для просмотра всего текста
06-25 20:56:45.187: D/myLogs(627): Click
06-25 20:56:45.187: D/AndroidRuntime(627): Shutting down VM
06-25 20:56:45.187: W/dalvikvm(627): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
06-25 20:56:45.207: E/AndroidRuntime(627): FATAL EXCEPTION: main
06-25 20:56:45.207: E/AndroidRuntime(627): java.lang.IllegalStateException: Could not execute method of the activity
06-25 20:56:45.207: E/AndroidRuntime(627): at android.view.View$1.onClick(View.java:3591)
06-25 20:56:45.207: E/AndroidRuntime(627): at android.view.View.performClick(View.java:4084)
06-25 20:56:45.207: E/AndroidRuntime(627): at android.view.View$PerformClick.run(View.java:16966)
06-25 20:56:45.207: E/AndroidRuntime(627): at android.os.Handler.handleCallback(Handler.java:615)
06-25 20:56:45.207: E/AndroidRuntime(627): at android.os.Handler.dispatchMessage(Handler.java:92)
06-25 20:56:45.207: E/AndroidRuntime(627): at android.os.Looper.loop(Looper.java:137)
06-25 20:56:45.207: E/AndroidRuntime(627): at android.app.ActivityThread.main(ActivityThread.java:4745)
06-25 20:56:45.207: E/AndroidRuntime(627): at java.lang.reflect.Method.invokeNative(Native Method)
06-25 20:56:45.207: E/AndroidRuntime(627): at java.lang.reflect.Method.invoke(Method.java:511)
06-25 20:56:45.207: E/AndroidRuntime(627): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
06-25 20:56:45.207: E/AndroidRuntime(627): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
06-25 20:56:45.207: E/AndroidRuntime(627): at dalvik.system.NativeStart.main(Native Method)
06-25 20:56:45.207: E/AndroidRuntime(627): Caused by: java.lang.reflect.InvocationTargetException
06-25 20:56:45.207: E/AndroidRuntime(627): at java.lang.reflect.Method.invokeNative(Native Method)
06-25 20:56:45.207: E/AndroidRuntime(627): at java.lang.reflect.Method.invoke(Method.java:511)
06-25 20:56:45.207: E/AndroidRuntime(627): at android.view.View$1.onClick(View.java:3586)
06-25 20:56:45.207: E/AndroidRuntime(627): ... 11 more
06-25 20:56:45.207: E/AndroidRuntime(627): Caused by: java.lang.NullPointerException
06-25 20:56:45.207: E/AndroidRuntime(627): at com.example.fragmenttabs.FragmentsTab1.onClick(FragmentsTab1.java:42)
06-25 20:56:45.207: E/AndroidRuntime(627): at com.example.fragmenttabs.MainActivity.onClick(MainActivity.java:50)
06-25 20:56:45.207: E/AndroidRuntime(627): ... 14 more

как раз на settext
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.06.2013, 01:19     set и get из fragment #8
а в R.layout.fragment1 точно есть textView1?
dubok79
 Аватар для dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
26.06.2013, 08:10     set и get из fragment #9
По примеру V0v1k все получилось, спасибо.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
TextView tvPage;
@Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment, null);
    
    tvPage = (TextView) view.findViewById(R.id.tvPage);
    
    final Button btnPage = (Button) view.findViewById(R.id.btnPage);
    btnPage.setText(getResources().getString(R.string.btnPage));
    btnPage.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            switch(v.getId()){
            case R.id.btnPage:
                Random rnd = new Random();
                backColor = Color.argb(40, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
                tvPage.setBackgroundColor(backColor);
                break;
            }
        }
    });
    return view;
  }
Только не сообразил как во фрагмент контекст передать? Например для Toast
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2013, 09:23     set и get из fragment
Еще ссылки по теме:

Вызов Fragment Android
Анимация Fragment Android
Fragment Android
Fragment и ListView Android
Fragment и RoboSpice Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.06.2013, 09:23     set и get из fragment #10
Цитата Сообщение от dubok79 Посмотреть сообщение
Только не сообразил как во фрагмент контекст передать? Например для Toast
Java
1
getActivity();
Yandex
Объявления
26.06.2013, 09:23     set и get из fragment
Ответ Создать тему
Опции темы

Текущее время: 09:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru