[英]app crashing when switching activities
嗨,我这样做已经好几天了,每次尝试进入列表视图活动时,我都会崩溃。 我已经两次重写了列表视图活动,这是活动代码:
protected List<ParseObject> exercise_name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_exersise_display);
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("Exercises");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, ParseException e) {
if(e==null){
//success
exercise_name = list;
Excercise_Adapter adapter = new Excercise_Adapter(getListView().getContext(), exercise_name);
setListAdapter(adapter);
}
else {
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_exersise__display, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
这是Exercise Adapter类受保护的Context mContext; 受保护的清单运动; 公共Excercise_Adapter(上下文上下文,列表练习){超级(上下文,R.layout.da_excerisises,练习); mContext =上下文; 运动=锻炼; }
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView == null){
convertView = LayoutInflater.from(mContext).inflate(R.layout.da_excerisises, null);
holder = new ViewHolder();
//holder.exerciseImage = (ImageView)convertView.findViewById(R.id.Exersise_image);
holder.exerciseName = (TextView) convertView.findViewById(R.id.Exersise_name_menu);
convertView.setTag(holder);
}
else{
holder = (ViewHolder)convertView.getTag();
}
ParseObject exercise_object = mExercise.get(position);
String title = exercise_object.getString("exercise_name");
holder.exerciseName.setText(title);
return convertView;
}
public static class ViewHolder{
//ImageView exerciseImage;
TextView exerciseName;
}
这是调用代码:
protected Button fitcalcmain;
protected Button excersise;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Parse.initialize(this, "BEFmOu6ru7ulUKCaFaNP8JdGU73RBc4wFfvOjfWp", "dV460EGCxMwhzvRhHQDne2zlYoeOQu2aDypfuTTW");
fitcalcmain = (Button)findViewById(R.id.FitnessCalcMain);
excersise = (Button)findViewById(R.id.ExersisesMain);
fitcalcmain.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent gomeasure = new Intent(MainActivity.this, fitcalc.class);
startActivity(gomeasure);
}
});
excersise.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent goexcercises = new Intent(MainActivity.this, Exersise_Display.class);
startActivity(goexcercises);
}
});
}
这是日志(很抱歉,由于“格式错误”,它不允许我将其粘贴到此处: 带有logcat的google doc
活动的XML文件:
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/list"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true" />
这是清单
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="Workout Buddy"
android:theme="@style/AppTheme" >
<activity
android:name=".LoginActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/Mainmenu" >
</activity>
<activity
android:name=".RegisterActivity"
android:label="@string/app_name" >
</activity>
<activity
android:name=".fitcalc"
android:label="@string/title_activity_fitcalc" >
</activity>
<activity
android:name=".Exersise_Display"
android:label="@string/title_activity_exersise__display" >
</activity>
<activity
android:name=".Types_Activity"
android:label="@string/title_activity_types_" >
</activity>
</application>
您应该在适配器getView中返回convertView,而不是调用super。 另外,如果这对您没有帮助,请发布代码以开始您的活动。 编辑,请将您的两个活动添加到应用程序标签ex内的清单中:
<activity android:name="myActivity">
<activity android:name="myActivity"Two>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.