Если вы поймали выбранный объект справа, вы должны преобразовать его в TextView
, а затем получить текст TextView
следующим образом:
String vo = ((TextView)adapterView.getAdapter().getItem(position)).getText().toString();
Log.d(TAG, vo);
ИЛИ
Перейти класс вашего адаптера и создайте интерфейс для получения значений элемента, на который нажали.
Переменные в. NET - это либо ссылочные типы, либо типы значений. Типы значений - это примитивы, такие как целые числа и логические значения или структуры (и их можно идентифицировать, поскольку они наследуются от System.ValueType ). Булевы переменные, когда они объявлены, имеют значение по умолчанию:
bool mybool;
//mybool == false
Типы ссылок, когда они объявлены, не имеют значения по умолчанию:
class ExampleClass
{
}
ExampleClass exampleClass; //== null
Если вы попытаетесь получить доступ к члену экземпляра класса, используя нулевую ссылку, вы получите System.NullReferenceException . Это то же самое, что Ссылка на объект не установлена для экземпляра объекта .
Следующий код является простым способом воспроизведения этого:
static void Main(string[] args)
{
var exampleClass = new ExampleClass();
var returnedClass = exampleClass.ExampleMethod();
returnedClass.AnotherExampleMethod(); //NullReferenceException here.
}
class ExampleClass
{
public ReturnedClass ExampleMethod()
{
return null;
}
}
class ReturnedClass
{
public void AnotherExampleMethod()
{
}
}
Это очень распространенная ошибка, которая может возникать из-за все виды причин. Коренная причина действительно зависит от конкретного сценария, с которым вы столкнулись.
Если вы используете API или вызываете методы, которые могут возвращать ноль, важно выполнить это изящно . Основной метод, описанный выше, может быть изменен таким образом, что исключение NullReferenceException никогда не должно быть увидено пользователем:
static void Main(string[] args)
{
var exampleClass = new ExampleClass();
var returnedClass = exampleClass.ExampleMethod();
if (returnedClass == null)
{
//throw a meaningful exception or give some useful feedback to the user!
return;
}
returnedClass.AnotherExampleMethod();
}
Все вышеперечисленное на самом деле просто подсказки .NET Type Fundamentals, для дальнейшей информации я бы порекомендовал либо подобрать CLR через C # или читая эту статью MSDN того же автора - Джеффри Рихтера. Также обратите внимание на гораздо более сложный пример , когда вы можете встретить исключение NullReferenceException.
Некоторые команды, использующие Resharper, используют атрибуты JetBrains для аннотирования кода, чтобы выделить места, где находятся нули ( нет) ожидается.
Основной метод, описанный выше, может быть изменен таким образом, что исключение NullReferenceException никогда не должно быть увидено пользователем:static void Main(string[] args)
{
var exampleClass = new ExampleClass();
var returnedClass = exampleClass.ExampleMethod();
if (returnedClass == null)
{
//throw a meaningful exception or give some useful feedback to the user!
return;
}
returnedClass.AnotherExampleMethod();
}
Все вышеперечисленное на самом деле просто подсказки .NET Type Fundamentals, для дальнейшей информации я бы порекомендовал либо подобрать CLR через C # или читая эту статью MSDN того же автора - Джеффри Рихтера. Также обратите внимание на гораздо более сложный пример , когда вы можете встретить исключение NullReferenceException.
Некоторые команды, использующие Resharper, используют атрибуты JetBrains для аннотирования кода, чтобы выделить места, где находятся нули ( нет) ожидается.
Основной метод, описанный выше, может быть изменен таким образом, что исключение NullReferenceException никогда не должно быть увидено пользователем:static void Main(string[] args)
{
var exampleClass = new ExampleClass();
var returnedClass = exampleClass.ExampleMethod();
if (returnedClass == null)
{
//throw a meaningful exception or give some useful feedback to the user!
return;
}
returnedClass.AnotherExampleMethod();
}
Все вышеперечисленное на самом деле просто подсказки .NET Type Fundamentals, для дальнейшей информации я бы порекомендовал либо подобрать CLR через C # или читая эту статью MSDN того же автора - Джеффри Рихтера. Также обратите внимание на гораздо более сложный пример , когда вы можете встретить исключение NullReferenceException.
Некоторые команды, использующие Resharper, используют атрибуты JetBrains для аннотирования кода, чтобы выделить места, где находятся нули ( нет) ожидается.
рекомендую либо получить CLR через C # , либо прочитать эту статью MSDN того же автора - Джеффри Рихтера. Также обратите внимание на гораздо более сложный пример , когда вы можете встретить исключение NullReferenceException.Некоторые команды, использующие Resharper, используют атрибуты JetBrains для аннотирования кода, чтобы выделить места, где находятся нули ( нет) ожидается.
рекомендую либо получить CLR через C # , либо прочитать эту статью MSDN того же автора - Джеффри Рихтера. Также обратите внимание на гораздо более сложный пример , когда вы можете встретить исключение NullReferenceException.Некоторые команды, использующие Resharper, используют атрибуты JetBrains для аннотирования кода, чтобы выделить места, где находятся нули ( нет) ожидается.
Another easy way to get this:
Person myPet = GetPersonFromDatabase();
// check for myPet == null... AND for myPet.PetType == null
if ( myPet.PetType == "cat" ) <--- fall down go boom!
Не делать быть тупым, но это означает именно то, что он говорит. Одна из ваших ссылок на объект - NULL. Вы увидите это, когда попытаетесь получить доступ к свойству или методу объекта NULL.
Это означает, что вы сделали что-то подобное.
Class myObject = GetObjectFromFunction();
И без не сделали
, если (myObject! = Null)
, вы продолжаете делать ] myObject.Method ();
Большую часть времени, когда вы пытаетесь передать значение в объект, и если значение является нулем, то такого рода исключения происходят. Пожалуйста, проверьте эту ссылку .
ради самообучения, вы можете поставить некоторые условия проверки. как
if (myObj== null)
Console.Write("myObj is NULL");
Что означает эта ошибка? Ссылка на объект не установлена на экземпляр объекта.
В точности то, что он говорит, вы пытаетесь использовать нулевой объект, как если бы он был правильно ссылка на объект.