У меня есть расширяемый список, который показывает TextView в качестве дочерних элементов. Я хочу показать фрагмент MiniMap внизу, когда вы щелкаете заголовок и устанавливаете его на половину высоты экрана.
Я попытался создать новый фрагмент и передать его вид в мою функцию сеттера. Это приводит к тому, что приложение открывает sh при открытии заголовка.
Вот мой код расширяемого представления списка:
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class ExpandableListViewAdapter extends BaseExpandableListAdapter {
private static ArrayList<String> tripNames;
private static ArrayList <ArrayList<String>> tripValues;
Context context;
public ExpandableListViewAdapter (Context context){
this.context = context;
SharedPreference preferences = new SharedPreference(context);
tripNames = new ArrayList <String>();
tripValues = new ArrayList <ArrayList<String>>();
for (int i = 0; i < preferences.getStringInput("tripNames").split(" ").length; i++){
if (!preferences.getStringInput("tripNames").split(" ")[i].matches("none12323232321412515152124214412")){
tripNames.add(preferences.getStringInput("tripNames").split(" ")[i].trim());
//tripValues.add(new ArrayList<String>(Collections.singleton(preferences.getStringInput(preferences.getStringInput("tripNames").split(" ")[i].trim()))));
}
}
}
@Override
public int getGroupCount() {
return tripNames.size();
}
@Override
public int getChildrenCount(int groupPosition) {
return tripValues.get(groupPosition).size();
}
@Override
public Object getGroup(int groupPosition) {
return tripNames.size();
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return tripValues.get(groupPosition).get(childPosition);
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
TextView textView = new TextView(context);
textView.setText(tripNames.get(groupPosition));
textView.setPadding(100, 50, 50, 0);
textView.setTextSize(40);
return textView;
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
final TextView textView = new TextView(context);
textView.setText(tripValues.get(groupPosition).get(childPosition));
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, textView.getText().toString(),Toast.LENGTH_SHORT).show();
}
});
return textView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return false;
}
public static void addTrip (String tripName, String tripPoints){
tripNames.add(tripName);
tripValues.add(new ArrayList<String>(Collections.singleton(tripPoints)));
}
}
Я также создал пустой фрагмент для моей мини-карты
Есть идеи как? или если это возможно даже с помощью расширяемого списка?