gpt4 book ai didi

java - 由于构造函数错误无法启动 ListView

转载 作者:行者123 更新时间:2023-11-30 02:05:51 26 4
gpt4 key购买 nike

我正在尝试显示我的 ListView ,但由于我不知道如何修复的构造函数错误,它在运行我的应用程序时不会显示。如何解决这个问题?

fragment WCLine.java

public class FragmentWCLine extends android.support.v4.app.Fragment {

ListView listView;

private class WC {
private CharSequence station;
private CharSequence zone;
private Class<? extends Activity> activityClass;
private Class<? extends android.support.v4.app.Fragment> fragmentClass;

public WC(int stationResId, int zoneResId, Class<? extends Activity> activityClass, Class<? extends android.support.v4.app.Fragment> fragmentClass) {
this.fragmentClass = fragmentClass;
this.activityClass = activityClass;
this.station = getResources().getString(stationResId);
this.zone = getResources().getString(zoneResId);
}

@Override
public String toString() { return station.toString(); }
public String getzone(){ return zone.toString(); }
}

private static WC[] mWC;

private boolean mTwoPane;

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
View v = inflater.inflate(R.layout.fragment_wc_line, container, false);

mWC = new WC[]{
new WC(R.string.bank, R.string.zone_1, WCBankActivity.class, FragmentWCBank.class),
new WC(R.string.wat, R.string.zone_1, WCWATActivity.class, FragmentWCWAT.class)
};

listView = (ListView)v.findViewById(R.id.list_wc);
listView.setAdapter(new MyAdapter(getActivity(), mWC));

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (mTwoPane) {
startActivity(new Intent(getActivity(), mWC[position].fragmentClass));
} else {
startActivity(new Intent(getActivity(), mWC[position].activityClass));
}
}
});

return v;
}

static class MyAdapter extends BaseAdapter {

static class ViewHolder {
TextView station;
TextView zone;
}

LayoutInflater inflater;
WC[] mWC;

public MyAdapter(Context contexts, WC[] samples) {
this.mWC = samples;

}

@Override
public int getCount() {
return mWC.length;
}

@Override
public Object getItem(int position) {
return mWC[position];
}

@Override
public long getItemId(int position) {
return position;
}


public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.list_item_dualline, null);
viewHolder = new ViewHolder();

viewHolder.station = (TextView) convertView.findViewById(R.id.list_item_station);
viewHolder.zone = (TextView) convertView.findViewById(R.id.list_item_zone);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.station.setText(mWC[position].station);
viewHolder.zone.setText(mWC[position].getzone());
return convertView;
}
}
}

错误

Error:(54, 17) error: constructor WC in class FragmentWCLine.WC cannot be applied to given types;
required: int,int,Class<? extends Activity>,Class<? extends Fragment>
found: int,int,Class<WCBankActivity>,Class<FragmentWCBank>
reason: actual argument Class<WCBankActivity> cannot be converted to Class<? extends Activity> by method invocation conversion

错误发生

mWC = new WC[]{
new WC(R.string.bank, R.string.zone_1, WCBankActivity.class, FragmentWCBank.class),
new WC(R.string.wat, R.string.zone_1, WCWATActivity.class, FragmentWCWAT.class)
};

enter image description here

最佳答案

确保 WCBankActivity 扩展 Activity 类和 FragmentWCBank Fragment。在我看来 WCBankActivity 出于某种原因不是 Activity 但我不知道查看这段代码。

希望对您有所帮助。

关于java - 由于构造函数错误无法启动 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30676836/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com