элементы в моем фрагменте в моем макете 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;
}
}