gpt4 book ai didi

java - 关于此 Activity 的 list 错误没有默认构造函数

转载 作者:行者123 更新时间:2023-11-29 19:09:22 25 4
gpt4 key购买 nike

我在 CourseInnerPage Activity 中创建了一个构造函数,并在 OnBindViewHolder 方法中调用它,并将 getItemCount 作为输入传递。但是我遇到了一个异常,在我的 manifest.xml 文件中说这个 Activity 没有默认构造函数。我应该怎么办?

适配器类:

public class AdapterVRList extends RecyclerView.Adapter<AdapterVRList.CourseViewHolder> {

private Context context;
private List<DObjectVrList> DObjectVrListList;

public AdapterVRList(Context context, List<DObjectVrList> DObjectVrListList){
this.context = context;
this.DObjectVrListList = DObjectVrListList;
}
public AdapterVRList(Context context){

}


@Override
public CourseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View view = LayoutInflater.from(context).inflate(R.layout.card_vr,parent,false);
return new CourseViewHolder(view);
}

@Override
public void onBindViewHolder(CourseViewHolder holder, int position) {

DObjectVrList DObjectVrList = DObjectVrListList.get(position);
holder.CourseText.setText(DObjectVrList.getTitleCourse());

holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CourseInnerPage course = new CourseInnerPage(getItemCount());
Intent intent = new Intent(context,CourseInnerPage.class);
context.startActivity(intent);
}
});
}

@Override
public int getItemCount() {
return 8;
}

public class CourseViewHolder extends RecyclerView.ViewHolder{

private TextView CourseText;

public CourseViewHolder(View itemView) {
super(itemView);
CourseText = (TextView) itemView.findViewById(R.id.course_text);
}
}
}

CourseInnerPage Activity :

public class CourseInnerPage extends AppCompatActivity {

private static final String TAG = "CourseInnerPage";
private FloatingActionButton ShowButton;
private NestedScrollView CourseShow;
private int id;

public CourseInnerPage(int Id_Card){
id = Id_Card;
}


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_course_inner_page);

CourseShow = (NestedScrollView) findViewById(R.id.course_descript);
CourseShow.setVisibility(View.INVISIBLE);
CoordinatorLayout layout = (CoordinatorLayout) findViewById(R.id.inner_course);
for(int i=1;i<=8;i++){
switch (id) {
case 1:
layout.setBackground(getResources().getDrawable(R.drawable.one_bg, null));
ShowButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TeacherNet teacherNet = new TeacherNet(CourseInnerPage.this);
JSONObject requestObject = new JSONObject();
try {
requestObject.put("vrcode","1");
teacherNet.SelectContent(requestObject, new TeacherNet.JSONsendListener() {
@Override
public void JSONsent(String success) {
if (success=="OK"){
Log.i(TAG, "JSONsent: Everything is Ok");
}
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
});
break;
case 2:
layout.setBackground(getResources().getDrawable(R.drawable.two_bg, null));
break;
case 3:
layout.setBackground(getResources().getDrawable(R.drawable.three_bg,null));
break;
case 4:
layout.setBackground(getResources().getDrawable(R.drawable.four_bg,null));
break;
case 5:
layout.setBackground(getResources().getDrawable(R.drawable.five_bg,null));
break;
case 6:
layout.setBackground(getResources().getDrawable(R.drawable.six_bg,null));
break;
case 7:
layout.setBackground(getResources().getDrawable(R.drawable.seven_bg,null));
break;
case 8:
layout.setBackground(getResources().getDrawable(R.drawable.eight_bg,null));
break;
}
}


}
}

AndroidManifest 文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="realup.ir.teacher">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="Teacher"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Activity.Login">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Activity.Main"
android:parentActivityName=".Activity.Student">
<meta-data
android:name="android.support.PARENT_ACTIVTY"
android:value=".Student" />
</activity>
<activity android:name=".Activity.Student" />
<activity android:name=".Activity.CourseInnerPage"/>
</application>

</manifest>

异常:java.lang.InstantiationException:java.lang.Class没有零参数构造函数

最佳答案

不要在 Activity 中保留构造函数。而是使用 onCreate 方法来初始化变量。

如果您想为 Activity 提供一个 ID,请在开始 Activity 之前使用 intent.putExtra("tag", id) 并从 onCreate 方法中获取值您的 Activity :

int id = getIntent().getIntExtra("tag", 0);

关于java - 关于此 Activity 的 list 错误没有默认构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45907581/

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