我尝试在ListView
和Main.xml
内使用ListViewRow
(与此分开)但是在运行应用程序后我接收了>
System.NullReferenceException错误消息
我确定我之前运行过它并且有效。
我已尝试过其他帖子和其他来源的多种解决方案,但没有任何效果。
我确保xml中存在listview
并且ID也正确。
感谢大家的帮助
07-17 15:57:16.656 D / Mono(4823):AOT:image' /storage/emulated/0/Android/data/theProject.theProject/files /。覆盖 /inspector-temp/Xamarin.Interactive.Android.dll.so'找不到:dlopen失败:library" /data/app/theProject.theProject-1/lib/x86_64/libaot-Xamarin.Interactive.Android.dll.so"未找到 07-17 15:57:16.657 D / Mono(4823):AOT:image' /usr/local/lib/mono/aot-cache/amd64/Xamarin.Interactive.Android.dll.so'找不到:dlopen失败:library" /data/app/theProject.theProject-1/lib/x86_64/libaot-Xamarin.Interactive.Android.dll.so"未找到 07-17 15:57:16.657 D / Mono(4823):装配装载机从位置加载装配:' /storage/emulated/0/Android/data/theProject.theProject/files /。覆盖 /inspector-temp/Xamarin.Interactive.Android.dll' ;. 07-17 15:57:16.657 D / Mono(4823):配置尝试解析:' /storage/emulated/0/Android/data/theProject.theProject/files /。覆盖 /inspector-temp/Xamarin.Interactive.Android.dll.config' ;. 07-17 15:57:16.657 D / Mono(4823):Config试图解析:' /usr/local/etc/mono/assemblies/Xamarin.Interactive.Android/Xamarin.Interactive.Android.config' ;。 InspectorDebugSession(30):StateChange:EntryPointBreakpointHit - > BreakdanceInvoking 加载程序集:/storage/emulated/0/Android/data/theProject.theProject/files/.override/inspector-temp/Xamarin.Interactive.dll [External] 加载程序集:/storage/emulated/0/Android/data/theProject.theProject/files/.override/inspector-temp/Xamarin.Interactive.Android.dll [External] 07-17 15:57:16.683 D / Mono(4823):Assembly Ref addref Xamarin.Interactive.Android [0x7ff1cb07b100] - > mscorlib [0x7ff1e0ccf580]:12 07-17 15:57:16.707 D / Mono(4823):Assembly Ref addref Xamarin.Interactive.Android [0x7ff1cb07b100] - > Xamarin.Interactive [0x7ff1cb0fdf80]:2 07-17 15:57:16.719 D / Mono(4823):Assembly Ref addref Xamarin.Interactive.Android [0x7ff1cb07b100] - > Mono.Android [0x7ff1cb7c9200]:2 07-17 15:57:16.945 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:16.945 D / Mono(4823):搜索' java_interop_jnienv_register_natives'。 07-17 15:57:16.945 D / Mono(4823):探索' java_interop_jnienv_register_natives'。 07-17 15:57:16.945 D / Mono(4823):发现为' java_interop_jnienv_register_natives'。 07-17 15:57:16.958 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:16.958 D / Mono(4823):搜索' java_interop_jnienv_call_nonvirtual_void_method_a'。 07-17 15:57:16.958 D / Mono(4823):探索' java_interop_jnienv_call_nonvirtual_void_method_a'。 07-17 15:57:16.958 D / Mono(4823):发现为' java_interop_jnienv_call_nonvirtual_void_method_a'。 07-17 15:57:16.963 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:16.964 D / Mono(4823):搜索' _monodroid_gc_wait_for_bridge_processing'。 07-17 15:57:16.964 D / Mono(4823):探测' _monodroid_gc_wait_for_bridge_processing'。 07-17 15:57:16.964 D / Mono(4823):发现为' _monodroid_gc_wait_for_bridge_processing'。 07-17 15:57:16.974 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:16.974 D / Mono(4823):搜索' java_interop_jnienv_is_same_object'。 07-17 15:57:16.974 D / Mono(4823):探索' java_interop_jnienv_is_same_object'。 07-17 15:57:16.974 D / Mono(4823):发现为' java_interop_jnienv_is_same_object'。 07-17 15:57:16.980 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:16.980 D / Mono(4823):搜索' java_interop_jnienv_new_string'。 07-17 15:57:16.980 D / Mono(4823):探测' java_interop_jnienv_new_string'。 07-17 15:57:16.980 D / Mono(4823):发现为' java_interop_jnienv_new_string'。 07-17 15:57:16.986 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:16.986 D / Mono(4823):搜索' java_interop_jnienv_get_static_field_id'。 07-17 15:57:16.986 D / Mono(4823):探索' java_interop_jnienv_get_static_field_id'。 07-17 15:57:16.986 D / Mono(4823):发现为' java_interop_jnienv_get_static_field_id'。 07-17 15:57:16.990 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:16.990 D / Mono(4823):搜索' java_interop_jnienv_get_static_object_field'。 07-17 15:57:16.990 D / Mono(4823):探索' java_interop_jnienv_get_static_object_field'。 07-17 15:57:16.990 D / Mono(4823):发现为' java_interop_jnienv_get_static_object_field'。 线程开始:#3 InspectorDebugSession(30):HandleTargetEvent:ThreadStarted InspectorDebugSession(30):StateChange:BreakdanceInvoking - > BreakdanceStarted 07-17 15:57:17.121 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:17.121 D / Mono(4823):搜索' java_interop_jnienv_call_static_void_method_a'。 07-17 15:57:17.121 D / Mono(4823):探索' java_interop_jnienv_call_static_void_method_a'。 07-17 15:57:17.121 D / Mono(4823):发现为' java_interop_jnienv_call_static_void_method_a'。 07-17 15:57:17.125 D / Mono(4823):程序集参考addref theProject [0x7ff1cb7c9100] - > Mono.Android [0x7ff1cb7c9200]:3 07-17 15:57:17.200 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:17.200 D / Mono(4823):搜索' java_interop_jnienv_get_array_length'。 07-17 15:57:17.200 D / Mono(4823):探索' java_interop_jnienv_get_array_length'。 07-17 15:57:17.200 D / Mono(4823):发现为' java_interop_jnienv_get_array_length'。 加载程序集:MonoDroidConstructors [外部] 07-17 15:57:17.305 D / Mono(4823):程序集参考addref theProject [0x7ff1cb7c9100] - > mscorlib [0x7ff1e0ccf580]:13 07-17 15:57:17.412 D / Mono(4823):DllImport试图加载:' __内部'。 07-17 15:57:17.413 D / Mono(4823):DllImport加载库'(null)'。 07-17 15:57:17.413 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:17.413 D / Mono(4823):搜索monodroid_get_system_property'。 07-17 15:57:17.413 D / Mono(4823):探测&mondroid_get_system_property'。 07-17 15:57:17.413 D / Mono(4823):发现为monodroid_get_system_property'。 07-17 15:57:17.413 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:17.413 D / Mono(4823):搜索monodroid_free'。 07-17 15:57:17.413 D / Mono(4823):探索monodroid_free'。 07-17 15:57:17.413 D / Mono(4823):发现为monodroid_free'。 07-17 15:57:17.442 D / Mono(4823):DllImport搜索:' __内部' ('(空)&#39)。 07-17 15:57:17.442 D / Mono(4823):搜索' java_interop_jnienv_call_nonvirtual_object_method_a'。 07-17 15:57:17.442 D / Mono(4823):探索' java_interop_jnienv_call_nonvirtual_object_method_a'。 07-17 15:57:17.442 D / Mono(4823):发现为' java_interop_jnienv_call_nonvirtual_object_method_a'。 InspectorDebugSession(30):HandleTargetEvent:UnhandledException 未处理的例外:
System.NullReferenceException:未将对象引用设置为对象的实例。
MainActivity代码:
enter code here
using Android.App;
using Android.Widget;
using Android.OS;
using System.Collections.Generic;
using System;
namespace theProject
{
[Activity(Label = "theProject", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
private List<SomeItem> items = new List<SomeItem>();
private ListView listView;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
ListView listView = FindViewById<ListView>(Resource.Id.listView);
items.Add(new SomeItem { Name = "item1"});
items.Add(new SomeItem { Name = "anotherItem"});
MyListViewAdapter myListViewAdapter = new MyListViewAdapter(this, items);
listView.Adapter = myListViewAdapter;
}
}
}
MyListViewAdapter class code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
namespace theProject
{
class MyListViewAdapter: BaseAdapter<SomeItem>
{
private Context context;
private List<SomeItem> items;
public MyListViewAdapter(Context theContext, List<SomeItem> theItems)
{
context = theContext;
items = theItems;
}
public override SomeItem this[int position]
{
get
{
return items[position];
}
}
public override int Count
{
get
{
return items.Count;
}
}
public override long GetItemId(int position)
{
return position;
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
View currentRow = convertView;
if (currentRow == null)
{
currentRow = LayoutInflater.From(context).Inflate(Resource.Layout.ListviewRow, parent, false);
}
ImageView itemImageView = currentRow.FindViewById<ImageView>(Resource.Id.itemImage);
itemImageView = items[position].Image;
TextView itemNameTxtView = currentRow.FindViewById<TextView>(Resource.Id.itemName);
itemNametxtView.Text = items[position].Name;
return currentRow;
}
}
}