我在调试时测试我的应用程序并在此行崩溃:
listAdapter = new ArrayAdapter<String>(this, R.layout.cd_edittext_for_listview, planetList);
出现此错误: 在onCreate()
之前,活动无法使用系统服务我在这段代码中解决了这个错误(用上下文改变了这个): listAdapter = new ArrayAdapter(promptsView.getContext(),R.layout.cd_edittext_for_listview,planetList); 并使用“EditText”更改XML文件“EditView”!*
我对“editText_for_listview.xml”项目有这个布局:
<EditView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rowEditView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="16sp">
</EditView>
我的主要布局是“items_listview.xml”
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="10dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListView
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/mylistview"
android:layout_gravity="center" />
</LinearLayout>
代码是这样的:
public void _ShowItems(String sTitle,android.content.Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(sTitle);
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
final View promptsView = inflater.inflate(R.layout.items_listview, null);
ListView mainListView ;
ArrayAdapter<String> listAdapter ;
mainListView = (ListView) promptsView.findViewById( R.id.editText_for_listview );
String[] planets = new String[] { "Test1", "Test2", "Test3" };
ArrayList<String> planetList = new ArrayList<String>();
planetList.addAll( Arrays.asList(planets) );
listAdapter = new ArrayAdapter<String>(this, R.layout.cd_edittext_for_listview, planetList);
// Set the ArrayAdapter as the ListView's adapter.
mainListView.setAdapter( listAdapter );
builder.setView(promptsView)
.setPositiveButton("One", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
})
.setNegativeButton("Two", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
});
builder.show();
}
你能帮帮我吗?
哪里错了?
由于
答案 0 :(得分:0)
显然,您正在尝试在调用Activity的onCreate()方法之前使用Activity Context。尝试将对_ShowItems()的调用移至onResume()方法。
答案 1 :(得分:0)
您能否显示更多活动代码?你可以在一个没有初始化上下文的地方调用这个方法,但是一旦我们更好地了解了这个活动,就会发现其他东西。
我会对此作出评论,但我没有这样的声誉。