Урок 45. Список-дерево ExpandableListView
Re: Урок 45. Список-дерево ExpandableListView
ну, все. Вопрос снимается. Я, по совету Olivka, заюзал предложенное дерево. Все завел за два дня, прикрутил базу данных, все работает. Чего и вам желаю.
Слева исходная база данных, справа - дерево в андроиде.
Внешний вид не причесан еще.
Все открывается-закрывается.
Если у кого-то появятся вопросы по нему, с удовольствием отвечу )
Слева исходная база данных, справа - дерево в андроиде.
Внешний вид не причесан еще.
Все открывается-закрывается.
Если у кого-то появятся вопросы по нему, с удовольствием отвечу )
Re: Урок 45. Список-дерево ExpandableListView
Ну я рада! Я намного дольше с ним разбиралась
А можно спросить вот слева на картиночке это у тебя что? откуда окошко?
А можно спросить вот слева на картиночке это у тебя что? откуда окошко?
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: Урок 45. Список-дерево ExpandableListView
Слева - это мой основной коммерческий сойфт под Win, создание каталогов в различных форматах.
Собственно, из него данные экспортируются в проект Android и далее в apk.
Т.е. на android'е делается вьюер данных из большой десктопной программули.
Собственно, из него данные экспортируются в проект Android и далее в apk.
Т.е. на android'е делается вьюер данных из большой десктопной программули.
Re: Урок 45. Список-дерево ExpandableListView
спасибо за разъяснения. А пустые квадратики для чекбоксов там зачем?
А когда ты дерево сделаешь какие дальше планы? нужно еще ведь какие-то данные отображать?
А то я сделала, но мне не совсем нравится как.
Например, при долгом клике на ветке у меня открываются данные по группам товара в другом окне (а если в альбомной ориентации то в этом же - справа). Но пользователю кое-что не нравится все равно. Вот ищу какие-то идеи.
Все-таки на экране большого компа можно намного больше отобразить и удобнее. А юзер когда только и знает как там мышью кликать, хочет слишком чтоб все похоже было.
А когда ты дерево сделаешь какие дальше планы? нужно еще ведь какие-то данные отображать?
А то я сделала, но мне не совсем нравится как.
Например, при долгом клике на ветке у меня открываются данные по группам товара в другом окне (а если в альбомной ориентации то в этом же - справа). Но пользователю кое-что не нравится все равно. Вот ищу какие-то идеи.
Все-таки на экране большого компа можно намного больше отобразить и удобнее. А юзер когда только и знает как там мышью кликать, хочет слишком чтоб все похоже было.
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: Урок 45. Список-дерево ExpandableListView
ну так у меня будет то же самое что и у тебя. При клике на финальной ветке открывается, собственно, список товаров в зависимости о размера экрана. Просто плоский список. А при клике на него - уже подробное описание.
А для чего чекбоксы в десктопной программе, - в основном, чтобы сгенерить каталог нужного формата именно на выбранные позиции.
А для чего чекбоксы в десктопной программе, - в основном, чтобы сгенерить каталог нужного формата именно на выбранные позиции.
Re: Урок 45. Список-дерево ExpandableListView
у меня можно кликать на любой ветке, чтоб открылся список, например, когда нужно отобразить все позиции и поискать во всех.
А ты будешь чекбоксы делать?
А ты будешь чекбоксы делать?
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: Урок 45. Список-дерево ExpandableListView
нет, я их отключил.
Re: Урок 45. Список-дерево ExpandableListView
Добрый день, вместо массива String'ов передаю List собсвтенных объектов, получилось топорно и не красиво.
Посоветуйте как делать правильно.
Код объекта который передаю:
Код ExpandableListView:
Возможно нужно наследовать BaseExpandableListAdapter и создавать свою реализацию.
Помогите с небольшим примером или посоветуйте куда копать.
Спасибо.
Посоветуйте как делать правильно.
Код объекта который передаю:
Код: Выделить всё
import java.sql.Date;
public class Deposit {
private long deposit_id;
private long client_id;
private double balance;
private String type;
private double estimated_balance;
private Date opening_date;
private Date closing_date;
public Deposit() {
}
public Deposit(long deposit_id, long client_id, double balacne,
String type, long estimated_balance, Date opening_date,
Date closing_date) {
super();
this.deposit_id = deposit_id;
this.client_id = client_id;
this.balance = balacne;
this.type = type;
this.estimated_balance = estimated_balance;
this.opening_date = opening_date;
this.closing_date = closing_date;
}
public long getDeposit_id() {
return deposit_id;
}
public void setDeposit_id(long deposit_id) {
this.deposit_id = deposit_id;
}
public long getClient_id() {
return client_id;
}
public void setClient_id(long client_id) {
this.client_id = client_id;
}
public double getBalance() {
return balance;
}
public void setBalance(double balacne) {
this.balance = balacne;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public double getEstimated_balance() {
return estimated_balance;
}
public void setEstimated_balance(double d) {
this.estimated_balance = d;
}
public Date getOpening_date() {
return opening_date;
}
public void setOpening_date(Date date) {
this.opening_date = date;
}
public Date getClosing_date() {
return closing_date;
}
public void setClosing_date(Date date) {
this.closing_date = date;
}
}
Код: Выделить всё
public class DepositsFragment extends Fragment {
private static final String CHILD_NAME = "childName";
private static final String GROUP_NAME = "groupName";
// collection for groups
private ArrayList<Map<String, String>> groupData;
// collection for elements of one group
private ArrayList<Map<String, String>> childDataItem;
// general collection for element's collection
private ArrayList<ArrayList<Map<String, String>>> childData;
// we will get childData = ArrayList<childDataItem>
// list of attributes for group or element
private Map<String, String> elementMap;
private SimpleExpandableListAdapter expandableListAdapter;
private ExpandableListView expandableListView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_deposits, null);
List<Deposit> deposits = ClientContainer.getClientContainer()
.getDeposits();
groupData = new ArrayList<Map<String, String>>();
for (Deposit deposit : deposits) {
Log.d(MbankMainActivity.MBANK_CLIENT,
"DepositsFragment.onCreateView adding deposit type: "
+ deposit.getType());
// fill the list of attributes for each map
elementMap = new HashMap<String, String>();
elementMap.put(GROUP_NAME, "Deposit type: " + deposit.getType());
groupData.add(elementMap);
}
// create collection for elements collection
childData = new ArrayList<ArrayList<Map<String, String>>>();
for (Deposit deposit : deposits) {
// create collection of elements for first group
childDataItem = new ArrayList<Map<String, String>>();
elementMap = new HashMap<String, String>();
elementMap.put(CHILD_NAME,
"Current Balance " + deposit.getBalance()); // balance
childDataItem.add(elementMap);
elementMap = new HashMap<String, String>();
elementMap.put(CHILD_NAME,
"Estimated balance " + deposit.getEstimated_balance()); // estimated
// balance
childDataItem.add(elementMap);
elementMap = new HashMap<String, String>();
elementMap.put(CHILD_NAME,
"Opening Date " + deposit.getOpening_date()); // Opening
// Date
childDataItem.add(elementMap);
elementMap = new HashMap<String, String>();
elementMap.put(CHILD_NAME,
"Closing Date " + deposit.getClosing_date()); // Closing
// Date
childDataItem.add(elementMap);
// adding to collection of collection
childData.add(childDataItem);
}
// list of attributes for reading
String groupFrom[] = new String[] { GROUP_NAME };
// list of ID view-elements, to which you will pass the attributes of
// the group
int[] groupTo = new int[] { android.R.id.text1 };
// List of attributes for reading
String childFrom[] = new String[] { CHILD_NAME };
// list of ID view-elements, to which you will place attributes
int childTo[] = new int[] { android.R.id.text1 };
expandableListAdapter = new SimpleExpandableListAdapter(getActivity(),
groupData, android.R.layout.simple_expandable_list_item_1,
groupFrom, groupTo, childData, R.layout.text_item, childFrom,
childTo);
expandableListView = (ExpandableListView) view
.findViewById(R.id.elv_Deposits);
expandableListView.setAdapter(expandableListAdapter);
return view;
}
}
Помогите с небольшим примером или посоветуйте куда копать.
Спасибо.
Re: Урок 45. Список-дерево ExpandableListView
Может кому-то пригодится.
Расширил BaseExpandableListAdapter
[syntax=java]public class ExpandableDepositView extends BaseExpandableListAdapter {
private List<Deposit> deposits;
private LayoutInflater inflater;
private NumberFormat numberFormatter;
private Context ctx;
public ExpandableDepositView(Context context, List<Deposit> deposits) {
this.deposits = deposits;
ctx = context;
inflater = LayoutInflater.from(context);
}
@Override
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return null;
}
// returns the child id according to parent's position
public long getChildId(int groupPosition, int childPosition) {
return groupPosition;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
View view = convertView;
if(view == null){
view = inflater.inflate(R.layout.layout_mbank_deposit, parent, false);
}
// get the deposit value according to it's position in array
Deposit deposit = deposits.get(groupPosition);
// Preparing values
// get current locale settings
Locale current = ctx.getResources().getConfiguration().locale;
// format numbers using current locale
numberFormatter = NumberFormat.getNumberInstance(current);
// formatting the date
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
String balanceString = numberFormatter.format(deposit.getBalance());
String estimatedBalanceString = String.valueOf(deposit
.getEstimated_balance());
String openingDate = sdf.format(deposit.getOpening_date());
String closingDate = sdf.format(deposit.getClosing_date());
TextView tvBalance = (TextView) view.findViewById(R.id.tv_balance);
TextView tvEstimatedBalance = (TextView) view
.findViewById(R.id.tv_estimated_balance);
TextView tvOpeningDate = (TextView) view
.findViewById(R.id.tv_opening_date);
TextView tvClosingDate = (TextView) view
.findViewById(R.id.tv_closing_date);
tvBalance.setText(balanceString);
tvEstimatedBalance.setText(estimatedBalanceString);
tvOpeningDate.setText(openingDate);
tvClosingDate.setText(closingDate);
return view;
}
@Override
public int getChildrenCount(int groupPosition) {
// return 1 because we wan only one member in every parent
return 1;
}
@Override
public Object getGroup(int groupPosition) {
return deposits.get(groupPosition).getType();
}
@Override
public int getGroupCount() {
return deposits.size();
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return groupPosition;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
View view = convertView;
if(view == null){
view = inflater.inflate(R.layout.mbank_deposit_parent, parent, false);
}
TextView tvParentText = (TextView)view.findViewById(R.id.tv_deposit_parent);
// "groupPosition" is the position of the parent/group in the list
tvParentText.setText(deposits.get(groupPosition).getOpening_date().toString());
// set default picture
ImageView ivParent = (ImageView)view.findViewById(R.id.iv_deposit_parent);
ivParent.setImageResource(R.drawable.ic_launcher);
return view;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return false;
}
}[/syntax]
Использовал обьекты List'a как Parent и Child.
Нужно было сделать список, в котором Child это более подробный вариант Parent'a.
Поэтому getChildrenCount возвращает единицу.
Расширил BaseExpandableListAdapter
[syntax=java]public class ExpandableDepositView extends BaseExpandableListAdapter {
private List<Deposit> deposits;
private LayoutInflater inflater;
private NumberFormat numberFormatter;
private Context ctx;
public ExpandableDepositView(Context context, List<Deposit> deposits) {
this.deposits = deposits;
ctx = context;
inflater = LayoutInflater.from(context);
}
@Override
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return null;
}
// returns the child id according to parent's position
public long getChildId(int groupPosition, int childPosition) {
return groupPosition;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
View view = convertView;
if(view == null){
view = inflater.inflate(R.layout.layout_mbank_deposit, parent, false);
}
// get the deposit value according to it's position in array
Deposit deposit = deposits.get(groupPosition);
// Preparing values
// get current locale settings
Locale current = ctx.getResources().getConfiguration().locale;
// format numbers using current locale
numberFormatter = NumberFormat.getNumberInstance(current);
// formatting the date
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
String balanceString = numberFormatter.format(deposit.getBalance());
String estimatedBalanceString = String.valueOf(deposit
.getEstimated_balance());
String openingDate = sdf.format(deposit.getOpening_date());
String closingDate = sdf.format(deposit.getClosing_date());
TextView tvBalance = (TextView) view.findViewById(R.id.tv_balance);
TextView tvEstimatedBalance = (TextView) view
.findViewById(R.id.tv_estimated_balance);
TextView tvOpeningDate = (TextView) view
.findViewById(R.id.tv_opening_date);
TextView tvClosingDate = (TextView) view
.findViewById(R.id.tv_closing_date);
tvBalance.setText(balanceString);
tvEstimatedBalance.setText(estimatedBalanceString);
tvOpeningDate.setText(openingDate);
tvClosingDate.setText(closingDate);
return view;
}
@Override
public int getChildrenCount(int groupPosition) {
// return 1 because we wan only one member in every parent
return 1;
}
@Override
public Object getGroup(int groupPosition) {
return deposits.get(groupPosition).getType();
}
@Override
public int getGroupCount() {
return deposits.size();
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return groupPosition;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
View view = convertView;
if(view == null){
view = inflater.inflate(R.layout.mbank_deposit_parent, parent, false);
}
TextView tvParentText = (TextView)view.findViewById(R.id.tv_deposit_parent);
// "groupPosition" is the position of the parent/group in the list
tvParentText.setText(deposits.get(groupPosition).getOpening_date().toString());
// set default picture
ImageView ivParent = (ImageView)view.findViewById(R.id.iv_deposit_parent);
ivParent.setImageResource(R.drawable.ic_launcher);
return view;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return false;
}
}[/syntax]
Использовал обьекты List'a как Parent и Child.
Нужно было сделать список, в котором Child это более подробный вариант Parent'a.
Поэтому getChildrenCount возвращает единицу.
Re: Урок 45. Список-дерево ExpandableListView
по
http://code.google.com/p/tree-view-list ... %2Fpolidea
по рекомендации Yozch и Foenix
сделал тестовы проект, но в отличии от оригинала дерево встраивается (должно ) в Fragment.
компилится, запускается без ошибок, но не заполняет дерево.
может кто посмотрит?
поправит?
http://code.google.com/p/tree-view-list ... %2Fpolidea
по рекомендации Yozch и Foenix
сделал тестовы проект, но в отличии от оригинала дерево встраивается (должно ) в Fragment.
компилится, запускается без ошибок, но не заполняет дерево.
может кто посмотрит?
поправит?
- Вложения
-
- X1_2.7z
- по нажатию на желтое меню - должно выдвигаться дерево
- (865.12 КБ) 294 скачивания
Re: Урок 45. Список-дерево ExpandableListView
У меня тоже дерево в фрагменте, если будет актуально и проект запустится посмотрю вечером, у меня на ноуте нет эклипса.
Данные откуда берешь?
Без фрагмента, просто на активити получилоь дерево построить? ТАм основная трудность запихнуть в него данные, в этом разобрался?
Данные откуда берешь?
Без фрагмента, просто на активити получилоь дерево построить? ТАм основная трудность запихнуть в него данные, в этом разобрался?
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: Урок 45. Список-дерево ExpandableListView
данные пока "встроенные из примера" , теоритически разобрался, это будет следующий этапFoenix писал(а):У меня тоже дерево в фрагменте, если будет актуально и проект запустится посмотрю вечером, у меня на ноуте нет эклипса.
Данные откуда берешь?
Без фрагмента, просто на активити получилоь дерево построить? ТАм основная трудность запихнуть в него данные, в этом разобрался?
без фрагмента запускается нормально
я пользую android studio, по моему мнению более стабильнее, чем ADT eclipse, но данный проект открывается и в ADT.
у тебя дерево в Fragment а не FragmentActivity?
Re: Урок 45. Список-дерево ExpandableListView
Дерево в фрагменте, фрагмет в ф.активити
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: Урок 45. Список-дерево ExpandableListView
Посмотрела проект, слишком много лишнего наворочено, ни одного комментария что там где, извини, это слишком много времени нужно убить, чтоб во всем разобраться.
layout fragment2 вообще не открылся посмотреть что там. Куча каких-то библиотек, ни одного активити сходу не нашла..
Просто когда даешь проекты другим, нужно максимально упрощать пример, комментарии, главная активити, в общем - все по стандарту.
layout fragment2 вообще не открылся посмотреть что там. Куча каких-то библиотек, ни одного активити сходу не нашла..
Просто когда даешь проекты другим, нужно максимально упрощать пример, комментарии, главная активити, в общем - все по стандарту.
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: Урок 45. Список-дерево ExpandableListView
это кусок составлен из 2-х стронних примеров, комментарии оставлены как в оригиналах...Foenix писал(а):Посмотрела проект, слишком много лишнего наворочено, ни одного комментария что там где, извини, это слишком много времени нужно убить, чтоб во всем разобраться.
layout fragment2 вообще не открылся посмотреть что там. Куча каких-то библиотек, ни одного активити сходу не нашла..
Просто когда даешь проекты другим, нужно максимально упрощать пример, комментарии, главная активити, в общем - все по стандарту.
библтотек всего 1 - android-support-v4.jar
куча наворочена - это может android studio служебные наваял...
по layout fragment2 вопрос отдельный.
вот оригинал
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:treeView="http://schemas.android.com/apk/res/pl.polidea.treeview"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:layout_width="0dip"
android:layout_height="0dip"
android:scrollbars="vertical"
android:visibility="gone"> <!-- Just to test some attributes in IDE -->
</ListView>
<pl.polidea.treeview.TreeViewList
android:id="@+id/mainTreeView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
treeView:indicator_gravity="right|center_vertical"
android:scrollbars="vertical"
android:smoothScrollbar="true"/>
</LinearLayout>
Rendering Problems Missing styles. Is the correct theme chosen for this layout? Use the Theme combo box above the layout to choose a different layout, or fix the theme style references. Failed to find style 'treeViewListStyle' in current theme (3 similar errors not shown)
но открывает и все работает
вот мой начальный layout fragment2
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#A55"
android:id="@id/fr2rl">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txt1"
android:id="@+id/textView"/>
</RelativeLayout>
получаю
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#A55"
android:id="@id/fr2rl">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txt1"
android:id="@+id/textView"/>
<view
android:layout_width="match_parent"
android:layout_height="match_parent"
class="treeview.TreeViewList"
android:id="@id/TreeViewFr"
android:layout_alignParentTop="false"
android:layout_below="@+id/textView"/>
</RelativeLayout>
ADT (android developer tools) после стого как в нём вставили class="treeview.TreeViewList" показывает с руганью, но при переоткрытии этого layout fragment2 отказывается показывать графику..
добавляю style="@style/treeViewListStyle"
Код: Выделить всё
<treeview.TreeViewList
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="false"
android:layout_below="@+id/textView"
indicator_gravity="right|center_vertical"
android:id="@id/mainTreeView"
android:background="#fff1e5"
style="@style/treeViewListStyle" />
Failed to find style 'treeViewListStyle' in current theme (3 similar errors not shown) Failed to parse file C:\ANDROID\project3\X1\res\drawable\tree_divider.xmlorg.xmlpull.v1.XmlPullParserException: Binary XML file line #6: invalid drawable tag ImageView
at android.graphics.drawable.Drawable.createFromXmlInner
at android.graphics.drawable.Drawable.createFromXml
at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable
at android.content.res.BridgeTypedArray.getDrawable
at android.widget.ListView.<init>
at treeview.TreeViewList.<init>(TreeViewList.java:53)
at treeview.TreeViewList.<init>(TreeViewList.java:45)
файл tree_divider.xml
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@android:drawable/divider_horizontal_dark"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:scaleType="fitXY" android:paddingLeft="5sp"
android:paddingRight="5sp" android:paddingBottom="2sp"/>
Foenix, можешь свой код показать?
Re: Урок 45. Список-дерево ExpandableListView
убрал лишнее,
к сожалению, то что описано постом выше не удалось исправить
в эклипсе fragment2 можносмотреть только в текстовом виде.
при дебаге заходит в конструктор AbstractTreeViewAdapter
и всё...
к сожалению, то что описано постом выше не удалось исправить
в эклипсе fragment2 можносмотреть только в текстовом виде.
при дебаге заходит в конструктор AbstractTreeViewAdapter
и всё...
- Вложения
-
- X1_3.7z
- (857.46 КБ) 266 скачиваний
Re: Урок 45. Список-дерево ExpandableListView
ок, посмотрю уже завтра с другого компа.
Код мой тебе ничем не поможет - там я слишком много меняла под себя и много закручено под данные.
Код мой тебе ничем не поможет - там я слишком много меняла под себя и много закручено под данные.
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: Урок 45. Список-дерево ExpandableListView
Убери вообще весь мусор из проекта, оставь только дерево и его появление - для того чтоб именно протестировать и не отвлекаться на другое.
Плюс еще - покажи работающее дерево, где нет фрагмента?
Плюс еще - покажи работающее дерево, где нет фрагмента?
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: Урок 45. Список-дерево ExpandableListView
в последнем (X1_3) лишнее убрано(кроме x_act в папке меню, но меню пока ни где не нужно).Foenix писал(а):Убери вообще весь мусор из проекта, оставь только дерево и его появление - для того чтоб именно протестировать и не отвлекаться на другое.
Плюс еще - покажи работающее дерево, где нет фрагмента?
там суть такая
в MainActivity поготавливается анимаия и поставляется "пустой" layout fragment1, который анимацией задвигается в сторону
Код: Выделить всё
//анимация
fragment1 = new Fragment1();//пустой фрагмент
fragment2 = new Fragment2();//фрагмент с деревом
ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(R.animator.slide_in_left1, R.animator.slide_in_right1);
ft.replace(R.id.fragCont, fragment1);
ft.addToBackStack(null);
ft.commit();
Код: Выделить всё
/ищем тескст
tview= (TextView) findViewById( R.id.view1);
//определяем листенер и его действия (смена фрагментов)
OnClickListener click1= new OnClickListener(){
@Override
public void onClick(View v) {
ft = getFragmentManager().beginTransaction();
if(fragment1.isVisible()){
ft.setCustomAnimations( R.animator.slide_in_right2,R.animator.slide_in_left1);
ft.replace(R.id.fragCont, fragment2);
}else{
ft.setCustomAnimations( R.animator.slide_in_right1,R.animator.slide_in_left2);
ft.replace(R.id.fragCont, fragment1);
}
ft.commit();
}
};
//назначаем листенер тексту
tview.setOnClickListener(click1);
проблема в заполнении деревом layout fragment2.
видимо, потому как layout fragment2 в layout main_activity не фигурирует в явном виде.
- Вложения
-
- tree-view-list-android.7z
- работающая версия с сайта
- (960.1 КБ) 286 скачиваний
Re: Урок 45. Список-дерево ExpandableListView
Я имела ввиду - покажи свой проект с работающим деревом (с данными) где нет пока фрагмента. Нужно с ним вначале разобраться. Я хочу посмотреть как у тебя даные заполняются.
Вообще не пойму зачем сразу делать анимации, пока у тебя нормально данные не заполнены?
Вообще не пойму зачем сразу делать анимации, пока у тебя нормально данные не заполнены?
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