2016-09-27 3 views
-1

У меня есть переменная, которая инициализируется в одном классе, и я хочу использовать ее в другом классе java , и я хочу использовать collect как имя таблицы в другом классе, который предназначен для базы данных Вспомогательный класс, как я могу это сделать .. Спасибо заранее для принятия времени, чтобы прочитать это :) у меня есть пример кода нижеКак использовать переменную, объявляемую в другом классе

public class example() 
{ 
String collect; 
//and here i have one spinner 
//and in itemSelected in spinner 
//i getting that item like this 
String item = getItemslected.toString; 
collect=item; 
} 
+0

Вы имеете в виду 'static' переменную? – Blobonat

ответ

1

Варианты:

1.Use статической переменной:

Объявить static String collect; и доступ к нему из другого класса, как <YourClassNmae>.collect; где YourClassName - это класс, в котором вы указали статическую переменную.

2.Use Применение класс

Создать класс приложения расширения вку

public class MyApplication extends Application { 

    private String someVariable; 

    public String getSomeVariable() { 
     return someVariable; 
    } 

    public void setSomeVariable(String someVariable) { 
     this.someVariable = someVariable; 
    } 
} 

Объявите имя класса приложения в манифесте как:

<application 
    android:name=".MyApplication" 
    android:icon="@drawable/icon" 
    android:label="@string/app_name"> 

Тогда в вашей деятельности вы может получить и установить переменную так:

// set 
((MyApplication) this.getApplication()).setSomeVariable(collect); 

// get 
String collect = ((MyApplication) this.getApplication()).getSomeVariable(); 
+0

только знать, расширение приложения может замедлить время выполнения, если используется для многих или это то же самое, что использование статических переменных? –

+1

Не имеет большой разницы: http://stackoverflow.com/questions/10844492/static-variables-vs-application-variables – kgandroid

+0

Я делаю в этом андроиде, если я объявляю статическую переменную в основном действии и если ее использовать в другом классе мой класс базы данных для создания таблицы, такой как mainactivity.mystatic variable :) – Badprince

0

вы можете объявить эту переменную в качестве государственной статической и вы можете использовать его из любой другой класс. Другой способ использовать это с помощью метода set и get.

0

Вы можете сделать переменную static и обратиться к ней с помощью Classname.variable. Если вы не хотите, чтобы он был статичным, вам понадобится ссылка на экземпляр класса, а затем обратитесь к нему, используя myInstance.variable. Другой вариант - использовать методы для его возврата (опять же, статические или нестатические).

переменной (или метод), также потребуется соответствующий модификатор доступа: https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

0
public class Main{ 
    public static void main(String[] args) { 
     System.out.println(Example.test); 
     Example.test = "123"; 
     System.out.println(Example.test); 
    } 
} 

public class Example{ 
    public static String test = "This is a Test"; 
} 

Выход:

This is a test 
123