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;
}
}
ممنون خواهم شد اگر دوستان راهنمایی کنند
این خطا جلوی ادامه کار من را گرفته
من از کتاب 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;
}
}
ممنون خواهم شد اگر دوستان راهنمایی کنند
این خطا جلوی ادامه کار من را گرفته