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

Обращение к View элементам фрагмента - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Доступ к элементам Activity из другого класса http://www.cyberforum.ru/android-dev/thread1487507.html
Есть Activity, в её классе создаю экземпляр другого класса twoclass tw = new twoclass(); tw.start(MainActivity.this); и запускаю метод передовая туда контекст. При определенных условиях из класса(twoclass) получаю Toast на экране, но хотелось бы вместо тоста присваивать текст в EditText не пойму как обратиться к нему.
Android Если SD-карта read-only, то webView.loadUrl всё равно может загружать с нее? Если да, то имеет ли смысл такая проверка if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) || Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED_READ_ONLY)) { webView.loadUrl("file://" + Environment.getExternalStorageDirectory() + "/test.html"); } Или достаточно такой if... http://www.cyberforum.ru/android-dev/thread1487261.html
Как убрать preview клавиш со своей клавиатуры? Android
И снова я со своей клавой... Все расчудесно, но выявили такой баг: если ткнуть в клавиатуру и повозить пальчиком во все стороны, то она ведет себя, согласно тому, куда был изначально ткнут палец: - если в клавишу, то при перемещении пальца, на попадающих под него клавишах всплывает preview; - если в пустое место (между клавишами, например), то превью не будет выпадать. Убираю превью у...
Разный интерфейс для смартфонов и планшетов Android
Добрый день! Подскажите как можно отследить и создать разные интерфейсы для планшетов и для смартфонов?
Android Sql lite, установка http://www.cyberforum.ru/android-dev/thread1487083.html
господа, прошу сильно не закидывать меня тапками ибо я только учусь. Добрался в изучении андроид приложений до баз данных, во всех книжках используют sql lite, а как его установить толком не пойму, вроде бы скачал 4 .dll файла каких то, а что с ними дальше делать?А так же нужен ли еще дополнительный софт?(php5, ms studio и тд). помогите, пожалуста
Android Соединение с сервером Apache Здравствуйте не могу понять что делает setEntity() и последние 3 строки, вот ещё, например при ответе в браузер php генерирует html и в окне браузера увидим строку json-формат, а что ловит андройд в этих строчках? DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); HttpEntity entity = new StringEntity(params,... подробнее

Показать сообщение отдельно
Dawidze
4 / 0 / 0
Регистрация: 12.05.2015
Сообщений: 10
01.07.2015, 08:50  [ТС]     Обращение к View элементам фрагмента
Разобрался я с задачей!!!

И этот вариант рабочий
Цитата Сообщение от Dawidze Посмотреть сообщение
((FragmentView1) titleAdapter.frags[0]).SetText("dg");
И этот
Цитата Сообщение от Spelcrawler Посмотреть сообщение
//Под public View myView;
private TextView textView;
//В onCreateView в фрагменте;
textView = myView.findViewById(R.id.textview1);
//Метод для смены текста.
public void setText(String text){
textView.setText(text);
}
//Вызов метода в любом месте где доступен фрагмент.
fragment.setText("text");
Проблема была в том что я пытался обратиться к элементам фрагмента в процедуре onCreate главной Activity. Но в это время метод OnCreateView фрагмента еще не произошел, и компоненты еще не определены. Метод SetText был немного изменен, добавлена проверка на то, что метод OnCreateView уже сработал

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.slide;
 
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
 
public class FragmentView1 extends Fragment {   
    
    public View myView;
    private TextView textview;
    private boolean cr;
    
    @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        cr = false;
        
      }
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        
        myView = inflater.inflate(R.layout.about, container, false);
        textview = (TextView) myView.findViewById(R.id.textView1);
        cr = true;
        return myView;
    }
 
    public void SetText(String text){
        if (cr) {
            textview.setText(text);
        }
    }
}
Теперь метод SetText будет работать не круша программу, но только не из onCreate MainActivity

Добавлено через 2 минуты
MainActivity

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package com.slide;
 
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 
public class MainActivity extends FragmentActivity {
    
    ViewPager pager;
    PagerAdapter pagerAdapter;
    private ViewPager mViewPager;
    static final int PAGE_COUNT = 10;
    static final String TAG = "myLogs";
    FragmentView1 f1;
    FragmentView2 f2;
    FragmentView3 f3;
    
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        mViewPager = (ViewPager) findViewById(R.id.pager);        
        
        f1 = new FragmentView1();
        f2 = new FragmentView2();
        f3 = new FragmentView3();
        final TitleAdapter titleAdapter = new TitleAdapter(getSupportFragmentManager(), f1, f2, f3);
        mViewPager.setAdapter(titleAdapter);
        mViewPager.setCurrentItem(0);
       
        Button b = (Button) findViewById(R.id.button1);
        b.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                ((FragmentView1)titleAdapter.frags[0]).SetText("dfgfg");
                //f1.SetText("dfdf");
            }
        });
        f1.SetText("dfdf");
 
    }
 
    public class TitleAdapter extends FragmentPagerAdapter {
        private final String titles[] = getResources().getStringArray(R.array.data); 
        
        public final Fragment frags[] = new Fragment[titles.length];
     
        public TitleAdapter(FragmentManager fm, FragmentView1 f1, FragmentView2 f2, FragmentView3 f3) {
            super(fm);
            frags[0] = f1;
            frags[1] = f2;
            frags[2] = f3;
        }
     
        @Override
        public CharSequence getPageTitle(int position) {
            return titles[position];
        }
     
        @Override
        public Fragment getItem(int position) {
            return frags[position];
        }
     
        @Override
        public int getCount() {
            return frags.length;
        }
    }
 
}
 
Текущее время: 16:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru