Урок 114. Android 3. Библиотека Support Library. Зачем нужна и как ее использовать на примере фрагментов
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Возможно не в тему,ну да ладно.К сожалению на форуме нет подобающего раздела.
Каким образом можно изменить цвет слов (именно отдельных слов,не текста в целом) в EditText?
Текст динамический.То-есть,вводимый текст сравнивается с определенным шаблоном,при совпадении меняется цвет.
Подскажите пожалуйста где и куда копать.Canvas? Paint? Я в догадках ))
Каким образом можно изменить цвет слов (именно отдельных слов,не текста в целом) в EditText?
Текст динамический.То-есть,вводимый текст сравнивается с определенным шаблоном,при совпадении меняется цвет.
Подскажите пожалуйста где и куда копать.Canvas? Paint? Я в догадках ))
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Вам нужно использовать SpannableStringBuilder
вот пример http://stackoverflow.com/questions/4897 ... ew-settext
вот пример http://stackoverflow.com/questions/4897 ... ew-settext
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Да,видел несколько примеров на Stackoverflow,но в моем случае проблема в том,что предыдущие значения цвета не сохраняются.rezak90 писал(а):Вам нужно использовать SpannableStringBuilder
вот пример http://stackoverflow.com/questions/4897 ... ew-settext
Вот пример.
Код: Выделить всё
public class HalloActivity extends Activity {
EditText text;
TextView setText;
Integer number;
SpannableString spString;
ForegroundColorSpan fcs;
SpannableStringBuilder ss;
int nextStartIndex = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hallo);
text = (EditText) findViewById(R.id.editText1);
setText = (TextView) findViewById(R.id.textView1);
fcs = new ForegroundColorSpan(Color.RED);
text.addTextChangedListener(tw);
}
void SetColorText(CharSequence txt,String compare){
String compareText = txt.toString();
int startIndex = compareText.indexOf(compare,nextStartIndex);
ss = new SpannableStringBuilder(txt);
if(startIndex != -1) {
ss.setSpan(fcs, startIndex, startIndex + compare.length(),
Spannable.SPAN_PRIORITY_SHIFT);
nextStartIndex = startIndex+compare.length();
}
setText.setText(ss);
}
TextWatcher tw = new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
SetColorText(s,"hallo");
}
};
}
Уже несколько часов пытаюсь найти решение,видимо данный метод здесь не действителен.Или я ошибаюсь?Надеюсь на вашу помощь.
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
потому что при каждом вводе текст заново присваивается, вам нужно запоминать места которые нужно окрашивать, и каждый раз при смене текста окрашивать весь текст заново
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
В этом то и вся проблема.Метод setSpan игнорирует все предыдущие значения.К примеру,возьмем статичный текст.rezak90 писал(а):потому что при каждом вводе текст заново присваивается, вам нужно запоминать места которые нужно окрашивать, и каждый раз при смене текста окрашивать весь текст заново
Код: Выделить всё
void Set(){
ss = new SpannableStringBuilder("text text1 text2");
ss.setSpan(fcs, 0, 3, 0);
ss.setSpan(fcs, 5,9, 0);
setText.setText(ss);
}
......
Решил проблему.ForegroundColorSpan нужно инициализировать каждый раз ss.setSpan(new ForegroundColorSpan(Color.Red)),0,3,0);
Благодарю за содействие!
......
К сожалению появилась вторая проблема.Данный метод слишком громоздкий,с увеличением количества символов,активити начинает подтормаживать.Прошарил доки,но я не вижу другого способа.
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Это все хорошо, но скажите любезные можно ли этой либой организовать как то лардж хипсайз в манифесте(или другим путем, а то приложение вылетает как бы не зарезал =( а хипа добавить никак не могу, обидно)
Заранее спасибо
Заранее спасибо
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Подскажите, у меня есть допустим 4 класса описывающие фрагменты в FragmentTransaction я их меняю. Как узнать какой класс находится в FragmentTransaction и как к нему обратиться?
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Извините, может быть я где-то раньше что-то пропустил. В уроке сказано и показано на скрине, что при создании нового класса для фрагмента, для старых устройств, в поле Superclass, нужно указать не android.app.Fragment, а android.support.v4.app.Fragment. Но у меня в этом диалоге создания нового класса вообще отсутствует возможность выбора вариантов, кроме одного (надеюсь это можно поправить?):
- Вложения
-
- В чем может быть дело?
- NewClass.png (18.28 КБ) 11872 просмотра
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
потому что у тебя все уже отфильтровано, сотри строку, выделенную синим и пиши там fragment или что тебе нужно
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
ох уж эти окошки, интерфейсы и т.д.
в импортах же можно подставить всё что душа пожелает
в импортах же можно подставить всё что душа пожелает
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
...блин. Ну ты просто ангел (на фоне сплошных невзгод). Я ж уже знал, что фильтры здесь наоборот работают, вроде даже что-то очищал, в каком-то месте даже вводить что-то пробовал, но там, значит, действительно ничего не было или вводил что-то несуразное. А здесь значит не попробовал вводить... от безнадеги ... Рефлекс, что на "пусто", - должно быть "все", а если и при этом пусто - значит и нет ничего ........... Моя четвертая искренняя балгодарность за короткий срок !Foenix писал(а):потому что у тебя все уже отфильтровано, сотри строку, выделенную синим и пиши там fragment или что тебе нужно
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
хорошо, что находятся люди, такие приятные вещи говорят.. спасибо!
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Человеки, а как сделать попроще то бы в api8 numberPicker работал ?
Всё тоже самое как с фрагментами ? или можно чисто один элемент как то добавить, а не всю библу.
Всё тоже самое как с фрагментами ? или можно чисто один элемент как то добавить, а не всю библу.
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Просьба описать как переделать код урока 106, а именно "Доступ к фрагменту из Activity" под support library
Код: Выделить всё
public void onClick(View v) {
Fragment frag1 = getFragmentManager().findFragmentById(R.id.fragment1);
((TextView) frag1.getView().findViewById(R.id.textView))
.setText("Access to Fragment 1 from Activity");
Fragment frag2 = getFragmentManager().findFragmentById(R.id.fragment2);
((TextView) frag2.getView().findViewById(R.id.textView))
.setText("Access to Fragment 2 from Activity");
}
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Такой вопрос, в случае использования PreferenceFragment (public class MyFragments extends PreferenceFragment) я могу использовать вызов getPreferenceManager().
Но если использовать библиотеку Support Library - import android.support.v4.app.Fragment (public class MyFragments extends Fragment), то получаю ошибку:
The method getPreferenceManager() is undefined for the type MyFragments
В чем здесь проблема?
Но если использовать библиотеку Support Library - import android.support.v4.app.Fragment (public class MyFragments extends Fragment), то получаю ошибку:
The method getPreferenceManager() is undefined for the type MyFragments
В чем здесь проблема?
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
проблема в том, что в Support Library нет PreferenceFragment. И вероятно проще будет использовать устаревшую PreferenceActivity.
Или можно почитать: http://developer.android.com/intl/ru/gu ... tings.html и попытаться сделать поддержку для разных версий.
Или можно почитать: http://developer.android.com/intl/ru/gu ... tings.html и попытаться сделать поддержку для разных версий.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Я очень долго плевался от настроек, что в Андроиде, в конечном счете написал полностью свои. Теперь у меня нереальная гибкость, могу крутить и вертеть как хочу и на любой версии API. Даже Headers можно сделать.
Я писал об этой проблеме тут http://stackoverflow.com/questions/1955 ... agment-etc , но мне таки никто и не ответил.
В большинстве известных приложений, настройки кастомные (гугл не в счет).
Я писал об этой проблеме тут http://stackoverflow.com/questions/1955 ... agment-etc , но мне таки никто и не ответил.
В большинстве известных приложений, настройки кастомные (гугл не в счет).
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Понятно, спасибо, я в итоге так и сделал, с проверкой версий:klblk писал(а):проблема в том, что в Support Library нет PreferenceFragment. И вероятно проще будет использовать устаревшую PreferenceActivity.
Или можно почитать: http://developer.android.com/intl/ru/gu ... tings.html и попытаться сделать поддержку для разных версий.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) - FragmentsActivity
else PreferenceActivity
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
Добрый день. Тема о navigation drawer. Я написала все исходники, но почему появляется единст. ошибка .replace. Подскажите как исправить?
Код: Выделить всё
private void selectItem(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new HomeFragment();
break;
case 1:
fragment = new PaymentFragment();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
[color=#BF00BF] .replace[/color](R.id.frame_container, fragment)
.commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
setTitle(navMenuTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
Re: Урок 114. Android 3. Библиотека Support Library. Зачем н
предполагаю что FragmentManager и Fragment из разных пакетов. Если используете support фрагменты, то FragmentManager нужно получать функцией getSupportFragmentManager(), а активити наследовать от FragmentActivity (или ActionBatActivity если используются support-v7).
а вообще у любой ошибки есть описание.
а вообще у любой ошибки есть описание.