【发布时间】:2016-03-18 09:12:15
【问题描述】:
我遇到了一个我似乎无法理解为什么会发生的问题。我的项目中有一些片段使用 support v4 library (version 21.0.3) 。在这些片段中,我使用 getContext() 方法来展示 Toasts 。 但是昨天突然我项目中的所有 getContext 都坏了,Android Studio 在编译时显示了 26 个错误。这是破坏的多个示例之一
package com.example.project.ui.fragment;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.example.project.R;
import java.util.ArrayList;
public class ListSizesFragment extends Fragment {
private ArrayList<String> sizes;
private ListView listViewSizes;
private ArrayAdapter<String> adapter;
public ListSizesFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_list_sizes, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
listViewSizes = (ListView) view.findViewById(R.id.listViewBlogs);
sizes = new ArrayList<>(MAX_SIZES);
sizes.addAll(getValueSizes())
adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, sizes);
listViewSizes.setAdapter(adapter);
listViewSizes.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String resultSize = adapter.getItem(position);
Toast.makeText(getContext(),"result :"+resultSize,Toast.LENGHT_SHORT).show(); getActivity().setResult(Activity.RESULT_OK);
getActivity().finish();
}
});
}
}
根据我在 Android 文档 (http://developer.android.com/reference/android/support/v4/app/Fragment.html#getContext()) 中看到的内容,getContext 是 support-v4 Fragment 的一种方法,所以我一直在试图找出问题所在。
在那个项目中,我也有一个 ViewPager,并且我无法使用 addOnPageListener 方法遇到同样的问题。
我已尝试重建项目并将项目与 Gradle 文件重新同步,但无济于事。
谢谢。
【问题讨论】:
标签: android android-fragments android-studio