私のフラグメントにlistviewを実装しようとしていますが、フラグメントクラスとアダプタでエラーが発生しています。配列を使用してフラグメント内のAndroidリストビュー
マイフラグメントのxml:
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/divider2">
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/MyAccountList"
android:layout_below="@+id/divider2"/>
</LinearLayout>
マイリストviewholder:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- icon -->
<ImageView
android:id="@+id/option_icon"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_horizontal_margin"
android:layout_marginBottom="@dimen/activity_horizontal_margin"
android:padding="@dimen/activity_horizontal_margin"
android:contentDescription="icon" />
<!-- title -->
<TextView
android:id="@+id/option_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/option_icon"
android:textColor="@android:color/darker_gray"
android:padding="@dimen/activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_horizontal_margin"
android:layout_alignTop="@+id/option_icon"
android:layout_centerVertical="true"/>
</RelativeLayout>
アダプタ:
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class MyAccount_Adapter extends BaseAdapter {
private final Activity context;
private final String[] option_title;
private final Integer[] option_icon;
public MyAccount_Adapter(Activity context, String[] option_title, Integer[] option_icon) {
//super(context, R.layout.myaccount_options_viewholder, option_title);
// TODO Auto-generated constructor stub
this.context=context;
this.option_title=option_title;
this.option_icon=option_icon;
}
@Override
public int getCount() {
return option_title.length; //returns total of items in the array
}
@Override
public Object getItem(int position) {
return option_title[position]; //returns item at the specified position
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater=context.getLayoutInflater();
View rowView=inflater.inflate(R.layout.myaccount_options_viewholder, null,true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.option_title);
ImageView imageView = (ImageView) rowView.findViewById(R.id.profile_icon);
txtTitle.setText(option_title[position]);
imageView.setImageResource(option_icon[position]);
return rowView;
};
}
そして、私のフラグメント:
public class MyAccount extends Fragment {
ListView listView;
String[] optionTitle ={
"booking record",
"comments",
"language",
};
Integer[] option_icon={
R.drawable.booking_record_02,
R.drawable.comment_record_02,
R.drawable.language_02,
};
public MyAccount() {
}
public static MyAccount newInstance(String text){
Bundle args = new Bundle();
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.my_account, container, false);
MyAccount_Adapter adapter=new MyAccount_Adapter(getActivity(), optionTitle, option_icon);
listView=(ListView)getActivity().findViewById(R.id.MyAccountList);
listView.setAdapter(adapter);
return rootView;
}
私はfragmentpageradapterが私のアダプタに適用することはできませんエラー取得しています:
super(context, R.layout.myaccount_options_viewholder, option_title);
をし、別のエラーMyAccount_Adapterが適用できないとアダプタが私のフラグメントに適用することはできません。
MyAccount_Adapter adapter=new MyAccount_Adapter(this, optionTitle, option_icon);
listView.setAdapter(adapter);
はこれです文脈によって引き起こされる?私はそれを解決する方法がわかりません。
なぜフラグメントページャアダプタですか?これはViewPager向けです! https://guides.codepath.com/android/ViewPager-with-FragmentPagerAdapter –