У меня есть ListView
для отображения содержимого от ArrayList
. Я звоню listView.setAdapter
из моего метода.ListView Crash FATAL EXCEPTION
В моем приложении я могу accses на topten_activity из й main_actiivty или если я закончить игру я получил и цель, которая ссылается меня добавить данные (лицо); мой Topten_activity:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_1"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
Всякий раз, когда запуск деятельности/намерения. приложение врезаться
FATAL EXCEPRION:main.
я использовал Log.d
в моем методе, который установлен адаптер. Журнал печатается, так что вызов достигает там
Пожалуйста, посмотрите на мой код ниже
Код:
public class TopTen extends ListActivity{
Person p;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_topten);
Log.d("inside", "TopTen OnCreat");
populateListView();
}
private void populateListView(){
Log.d("inside", "populateListView");
ArrayAdapter<Person> adapter = new ArrayAdapter<Person>(this, R.layout.activity_topten,p.TopTen);
ListView list =(ListView) findViewById(android.R.id.list);
list.setAdapter(adapter);
}
}
StackTrace:
FATAL EXCEPTION: main
Process: com.example.flagsgame, PID: 29436
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.flagsgame/com.example.flagsgame.TopTen}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5146)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.example.flagsgame.TopTen.populateListView(TopTen.java:26)
at com.example.flagsgame.TopTen.onCreate(TopTen.java:21)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
Person. класс:
public class Person extends Activity{
EditText name;
Button ok;
TextView enter;
Integer Score;
String Name;
Person person;
Person a;
Person b;
Person c;
//Map<String,Integer>Names=new HashMap<String,Integer>(10);
ArrayList<Person>TopTen = new ArrayList<Person>(10);
//Map sortedMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_person);
Intent intent = getIntent();
Score = intent.getIntExtra("Score", 0);
name =(EditText)findViewById(R.id.namep);
ok =(Button)findViewById(R.id.send);
enter =(TextView)findViewById(R.id.entername);
Toast toast = Toast.makeText(getApplicationContext(), "Lets see if you are can be on TopTen", Toast.LENGTH_SHORT);
a.Name="Daniel";
a.Score=20;
b.Name="Zohar";
b.Score=15;
c.Name="Yakir";
c.Score=10;
TopTen.add(a);
TopTen.add(b);
TopTen.add(c);
ok.setOnClickListener(SendActionListener);
}
private OnClickListener SendActionListener = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Person lastEntry = TopTen.get(TopTen.size()-1);//Last element of the arraylist
if(lastEntry.Score < Score){//checking score
lastEntry.Score = Score;//put score aka Value
lastEntry.Name=name.getText().toString();//put name aka Key
Toast toast = Toast.makeText(getApplicationContext(), "You are now on the TopTen List", Toast.LENGTH_SHORT);
}
};
};
}//end of Person
Кто из первых людей деятельности или TopTen? – Amsheer
Если ям в главном, поэтому я могу пойти сначала в TopTen, но если ям в игре так, что Person будет первым – Adi
Хорошо В этом есть проблема.Я объясню в ответ. – Amsheer