我试过不同的东西,但事情还没有'去'与列表视图崩溃的自定义对话框
我有一个活动。在这种情况下,当我按下菜单中的某个选项时,我需要弹出一个对话框,并在该对话框中输入字符串值的列表视图,以便从字符串数组中取出xml。
我已经删除了一些代码,把它清理干净,但仍然没有运气...
myList.xml
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
在我的主要活动我的自定义对话框
public class Selector extends Dialog {
String[] testArray;
protected Selector(Context context) {
super(context);
ListView lijstje = (ListView) findViewById(R.layout.mylist);
testArray = context.getResources().getStringArray(R.array.currencies);
Log.d("test",testArray[0]);//wich shows me the 1e string and it's working
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getContext(),android.R.layout.simple_list_item_1, testArray);
lijstje.setAdapter(adapter);
LayoutInflater li = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = li.inflate(R.layout.mylist, null, false);
this.setContentView(v);
}
}
我有我的功能
public void showPopup()
{
Selector test = new Selector(this);
test.show();
}
当我把lijstje.setAdapter(适配器);在评论我的应用程序不会崩溃,但对话是非常小的,空
02-24 22:14:29.705: D/AndroidRuntime(28734): Shutting down VM
02-24 22:14:29.705: W/dalvikvm(28734): threadid=1: thread exiting with uncaught exception (group=0x40a4e1f8)
02-24 22:14:29.715: E/AndroidRuntime(28734): FATAL EXCEPTION: main
02-24 22:14:29.715: E/AndroidRuntime(28734): java.lang.NullPointerException
02-24 22:14:29.715: E/AndroidRuntime(28734): at be.veeteedev.OmzetterActivity.showPopup(OmzetterActivity.java:83)
02-24 22:14:29.715: E/AndroidRuntime(28734): at be.veeteedev.OmzetterActivity.onOptionsItemSelected(OmzetterActivity.java:59)
02-24 22:14:29.715: E/AndroidRuntime(28734): at android.app.Activity.onMenuItemSelected(Activity.java:2502)
02-24 22:14:29.715: E/AndroidRuntime(28734): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:950)
02-24 22:14:29.715: E/AndroidRuntime(28734): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
02-24 22:14:29.715: E/AndroidRuntime(28734): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
02-24 22:14:29.715: E/AndroidRuntime(28734): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
02-24 22:14:29.715: E/AndroidRuntime(28734): at com.android.internal.view.menu.ListMenuPresenter.onItemClick(ListMenuPresenter.java:163)
02-24 22:14:29.715: E/AndroidRuntime(28734): at android.widget.AdapterView.performItemClick(AdapterView.java:292)
02-24 22:14:29.715: E/AndroidRuntime(28734): at android.widget.AbsListView.performItemClick(AbsListView.java:1058)
02-24 22:14:29.715: E/AndroidRuntime(28734): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2514)
02-24 22:14:29.715: E/AndroidRuntime(28734): at android.widget.AbsListView$1.run(AbsListView.java:3168)
02-24 22:14:29.715: E/AndroidRuntime(28734): at android.os.Handler.handleCallback(Handler.java:605)
02-24 22:14:29.715: E/AndroidRuntime(28734): at android.os.Handler.dispatchMessage(Handler.java:92)
02-24 22:14:29.715: E/AndroidRuntime(28734): at android.os.Looper.loop(Looper.java:137)
02-24 22:14:29.715: E/AndroidRuntime(28734): at android.app.ActivityThread.main(ActivityThread.java:4424)
02-24 22:14:29.715: E/AndroidRuntime(28734): at java.lang.reflect.Method.invokeNative(Native Method)
02-24 22:14:29.715: E/AndroidRuntime(28734): at java.lang.reflect.Method.invoke(Method.java:511)
02-24 22:14:29.715: E/AndroidRuntime(28734): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
02-24 22:14:29.715: E/AndroidRuntime(28734): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
02-24 22:14:29.715: E/AndroidRuntime(28734): at dalvik.system.NativeStart.main(Native Method)
使用上下文代替this.getContext() – noob 2012-02-24 22:23:40