ورود

View Full Version : مشکل با خطای منجر به Force Close



BraveMind
چهارشنبه 18 بهمن 1391, 17:18 عصر
با سلام خدمت دوستان عزیز
من از کتاب professional android application development (http://www.wrox.com/WileyCDA/WroxTitle/Professional-Android-Application-Development.productCd-0470344717.html) برای یادگرفتن آندروید استفاده می کنم در صفحه 138 یک نمونه برنامه نوشته شده اما این برنامه با وجود اینکه خطای نحوی نداره در هنگام اجرا منجر به خطای Force close می شود.
من یکم سرچ کردم در بیشتر جاها نوشته شده بود که به فایل Androidmanifest.xml کد
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
را اضافه کن.

برنامه ای که من از کتاب رو نویسی کردم بصورت زیر هست:
package com.example.showlistitem;

import java.util.ArrayList;


import android.os.Bundle;

import android.app.Activity;

import android.view.KeyEvent;
import android.view.Menu;

import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

public class MainActivity extends Activity {

private ArrayList<ToDoItem> Items;
private ListView List;
private ArrayAdapter<ToDoItem> AAdp;
private EditText Text;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


List=(ListView)findViewById(R.id.listView1);
Text=(EditText)findViewById(R.id.editText1);

Items=new ArrayList<ToDoItem>();

ToDoItem i1=new ToDoItem("Programming");
Items.add(i1);

ToDoItem i2=new ToDoItem("Playing");
Items.add(0,i2);


int Resid=android.R.layout.simple_list_item_1;

AAdp=new ArrayAdapter<ToDoItem>(this, Resid, Items);

List.setAdapter(AAdp);

OnKeyListener i=new OnKeyListener() {


public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
// TODO Auto-generated method stub
if(arg2.getAction()==KeyEvent.ACTION_DOWN){
if(arg1==KeyEvent.KEYCODE_DPAD_CENTER){
ToDoItem i1=new ToDoItem("Programming");
Items.add(i1);

ToDoItem i2=new ToDoItem("Playing");
Items.add(0,i2);

AAdp.notifyDataSetChanged();
return true;
}
}
return false;
}
};

Text.setOnKeyListener(i);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}



}




ممنون خواهم شد اگر دوستان راهنمایی کنند
این خطا جلوی ادامه کار من را گرفته

hamid_hr
چهارشنبه 18 بهمن 1391, 17:25 عصر
ميشه بگين كدوم خط خطا داره

BraveMind
چهارشنبه 18 بهمن 1391, 23:55 عصر
هیچ خطی خطای نحوی نداره
اما هنگام اجرا force close میاد

hamid_hr
پنج شنبه 19 بهمن 1391, 08:37 صبح
زمان اجرا اگه گوشي به سيستم وصل باشه تو قسمت LagCat ميتوني خطاشو ببيني
اگه رو خطا ها (كه قرمز رنگ هستند) شما رو ميبره سر همون خطي كه خطا ايجاد شده

Modernidea
پنج شنبه 19 بهمن 1391, 10:15 صبح
سلام

MainActivity را در فایل Manifest تعریف کردید؟

همونطور که دوستمون گفتند بهترین راه مراجعه به LogCat است.
نحوه نمایش LogCat:
منوی Window->Show View->Other->LogCat

BraveMind
پنج شنبه 19 بهمن 1391, 13:04 عصر
ممنون چك ميكنم و نتيجه را ميگم

BraveMind
شنبه 21 بهمن 1391, 09:45 صبح
ممنون
من توی یکی از کلاسها سازنده را تعرف نکرده بودم