无法解析构造函数 Intent 和 ArrayAdapter
Cannot resolve constructor Intent and ArrayAdapter
这是我的代码:
线条
ArrayAdapter<Diseases>(this , android.R.layout.simple_list_item_1, data);
和
Intent intent = new Intent(this, DetailActivity.class);
显示错误
Cannot resolve constructor
'ArrayAdapter(com.android.mahanr.healthapp.Tab1, int,
java.util.List)'
和
Cannot resolve constructor 'Intent(com.android.mahanr.healthapp.Tab1,
java.lang.Class)'
如何使用 getActivity()
而不是 data = DataProviderDiseases.getData();
来保存它
是片段,应该用getActivity()
代替this
.
步骤 1
ArrayAdapter<Diseases> diseasesArrayAdapter
= new ArrayAdapter<Diseases>(getActivity(), android.R.layout.simple_list_item_1, data);
ListView listView = (ListView) listView.findViewById(android.R.id.list);
步骤 2
private void displayDetail(Diseases diseases) {
Intent intent = new Intent(getActivity(), DetailActivity.class);
intent.putExtra(DISEASES_TITLE, diseases.getTitle());
intent.putExtra(DISEASES_DESC, diseases.getDescription());
startActivityForResult(intent, DETAIL_REQUEST_CODE);
}
步骤 3
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_diseases_main, container, false);
data = DataProviderDiseases.getData();
ArrayAdapter<Diseases> diseasesArrayAdapter= new ArrayAdapter<Diseases>(getActivity(), android.R.layout.simple_list_item_1, data);
ListView listView = (ListView) rootView.findViewById(android.R.id.list);
listView.setAdapter(diseasesArrayAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Diseases diseases = data.get(position);
displayDetail(diseases);
}
});
return rootView; // It must be here
}
ArrayAdapter 构造函数的任何变体都需要 Context
作为第一个参数。请在初始化 ArrayAdapter
实例期间使用 getContext()
而不是 this
。
这是我的代码:
线条
ArrayAdapter<Diseases>(this , android.R.layout.simple_list_item_1, data);
和
Intent intent = new Intent(this, DetailActivity.class);
显示错误
Cannot resolve constructor 'ArrayAdapter(com.android.mahanr.healthapp.Tab1, int, java.util.List)'
和
Cannot resolve constructor 'Intent(com.android.mahanr.healthapp.Tab1, java.lang.Class)'
如何使用 getActivity()
而不是 data = DataProviderDiseases.getData();
是片段,应该用getActivity()
代替this
.
步骤 1
ArrayAdapter<Diseases> diseasesArrayAdapter
= new ArrayAdapter<Diseases>(getActivity(), android.R.layout.simple_list_item_1, data);
ListView listView = (ListView) listView.findViewById(android.R.id.list);
步骤 2
private void displayDetail(Diseases diseases) {
Intent intent = new Intent(getActivity(), DetailActivity.class);
intent.putExtra(DISEASES_TITLE, diseases.getTitle());
intent.putExtra(DISEASES_DESC, diseases.getDescription());
startActivityForResult(intent, DETAIL_REQUEST_CODE);
}
步骤 3
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_diseases_main, container, false);
data = DataProviderDiseases.getData();
ArrayAdapter<Diseases> diseasesArrayAdapter= new ArrayAdapter<Diseases>(getActivity(), android.R.layout.simple_list_item_1, data);
ListView listView = (ListView) rootView.findViewById(android.R.id.list);
listView.setAdapter(diseasesArrayAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Diseases diseases = data.get(position);
displayDetail(diseases);
}
});
return rootView; // It must be here
}
ArrayAdapter 构造函数的任何变体都需要 Context
作为第一个参数。请在初始化 ArrayAdapter
实例期间使用 getContext()
而不是 this
。