Название элементов во фрагменте с отображением URL-адреса НАИМЕНОВАНИЯ веб-сайта в Android Studio - мастер / подробный поток - PullRequest
0 голосов
/ 24 ноября 2018

элементы в моем фрагменте в моем макете Master / Detail Flow в Android Studio отображают URL моих сайтов вместо названия сайтов.В моем классе DummyItem в Java-файле DummyContent есть переменная id, переменная website_name и переменная website_url, но по какой-то причине, когда я запускаю его на виртуальном устройстве, в левой части фрагмента вместо URL отображаются URL-адреса.имя веб-сайта, которое я создал для каждого элемента.

Вот мой класс DummyContent:

package net.androidbootcamp.modernartmuseums.dummy;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class DummyContent {

/**
 * An array of sample (dummy) items.
 */
public static final List<DummyItem> ITEMS = new ArrayList<DummyItem>();

/**
 * A map of sample (dummy) items, by ID.
 */
public static final Map<String, DummyItem> ITEM_MAP = new HashMap<String, 
DummyItem>();

private static final int COUNT = 25;

static {
    // Add some sample items.
    addItem(new DummyItem("1", "Barnes Museum", 
"http://www.barnesfoundation.org"));
    addItem(new DummyItem("2", "Tate Modern", "http://www.tate.org.uk"));
    addItem(new DummyItem("3", "Van Gogh Museum", 
"http://www.vangoghmuseum.nl/en" ));
    }


private static void addItem(DummyItem item) {
    ITEMS.add(item);
    ITEM_MAP.put(item.id, item);
}

private static DummyItem createDummyItem (int position) {
    return new DummyItem(String.valueOf(position), "Item " + position, 
makeDetails(position));
}

private static String makeDetails(int position) {
    StringBuilder builder = new StringBuilder();
    builder.append("Details about Item: ").append(position);
    for (int i = 0; i < position; i++) {
        builder.append("\nMore details information here.");
    }
    return builder.toString();
}

/**
 * A dummy item representing a piece of content.
 */
public static class DummyItem {
    public String id;
    public String website_name;
    public  String website_url;

    public DummyItem(String id, String website_name, String website_url) {
        this.id = id;
        this.website_name = website_name;
        this.website_url = website_url;
    }

    @Override
    public String toString() {
        return website_name;
        }
    }
}

Вот мой класс ItemDetailFragment:

package net.androidbootcamp.modernartmuseums;

import android.app.Activity;
import android.support.design.widget.CollapsingToolbarLayout;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;

import net.androidbootcamp.modernartmuseums.dummy.DummyContent;

public class ItemDetailFragment extends Fragment {
/**
 * The fragment argument representing the item ID that this fragment
 * represents.
 */
public static final String ARG_ITEM_ID = "item_id";

/**
 * The dummy content this fragment is presenting.
 */
private DummyContent.DummyItem mItem;

/**
 * Mandatory empty constructor for the fragment manager to instantiate the
 * fragment (e.g. upon screen orientation changes).
 */
public ItemDetailFragment() {
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (getArguments().containsKey(ARG_ITEM_ID)) {
        // Load the dummy content specified by the fragment
        // arguments. In a real-world scenario, use a Loader
        // to load content from a content provider.
        mItem = 
DummyContent.ITEM_MAP.get(getArguments().getString(ARG_ITEM_ID));

        Activity activity = this.getActivity();
        CollapsingToolbarLayout appBarLayout = (CollapsingToolbarLayout) 
activity.findViewById(R.id.toolbar_layout);
        if (appBarLayout != null) {
            appBarLayout.setTitle(mItem.website_name);
        }
    }
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.item_detail, container, 
false);

    getActivity().setTitle("home");


    WebView webView;

    // Show the dummy content as text in a TextView.
    if (mItem.id.equals("1")) {
         webView = ((WebView) rootView.findViewById(R.id.item_detail));
         webView.getSettings().setJavaScriptEnabled(true);
         webView.setWebViewClient(new WebViewClient());
         webView.loadUrl(mItem.website_url);

    }

    if (mItem.id.equals("2")) {
        webView = ((WebView) rootView.findViewById(R.id.item_detail));
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient());
        webView.loadUrl(mItem.website_url);

    }

    if (mItem.id.equals("3")) {
        webView = ((WebView) rootView.findViewById(R.id.item_detail));
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient());
        webView.loadUrl(mItem.website_url);

        }

    return rootView;
    }
}
...