我正在尝试将字符串从我的主要活动传递到单独的类 没有正在运行的活动。
我研究了使用intent和bundles传递变量,但是我看过它们使用了两个活动
我找到了一个与我尝试做的事情相似但相反的视频,无法正常工作。 (https://www.youtube.com/watch?v=CSifkubnE-E)
现在字符串更改了,所以我不能使用静态 而我的second.java没有上下文可以传递。
下面是我想做的事情的基本表示。
main.java
public class dosomething(){
String localvar;
localvar = mystring
}
second.java
class recibos(models.Model):
_name = "tecnop.recibos"
_rec_name = "num_recibo"
num_recibo = fields.Integer('Número de recibo', size=20)
fecha = fields.Date('Fecha')
# Conecta con módulo de productos
ids_productos = fields.One2many('tecnop.productos', 'id_producto', 'Productos')
# Relación con módulo de proveedores
ids_proveedores = fields.Many2one('tecnop.proveedores', 'Proveedor')
total = fields.Float('Total', size=400, readonly=True, store=True, compute='calcular_total')
subtotal = fields.Float('Subtotal', size=400, readonly=True)
impuesto_total = fields.Float('Impuesto', size=400, readonly=True)
@api.multi
@api.depends('ids_productos.nombre', 'ids_productos.precio')
def calcular_total(self):
registros = self.env['tecnop.productos'].search([('id_producto', '=', self.id)])
self.total = 0
self.impuesto_total = 0
self.subtotal = 0
for registro in registros:
if registro.precio:
impuestos = self.env['tecnop.impuestos'].search([('id_impuesto', '=', registro.id)])
for impuesto in impuestos:
if impuesto.impuesto:
registro.impuesto = registro.precio * impuesto.impuesto
self.total = (registro.precio * registro.cantidad) + self.total
self.impuesto_total = registro.impuesto + self.impuesto_total
self.subtotal = self.total - self.impuesto_total
为清楚起见,我想将一个变量从main.java传递给没有上下文的second.java。我不想在我的main.java中添加second.java类,我想将它们分开(我读过的一些东西说合并它们)。我该怎么办?
答案 0 :(得分:0)
我没有收到以下声明。
现在字符串更改了,所以我不能使用静态
您可以更新static
值。您无法更新final
的值。另外,您需要以某种方式创建连接。您可以创建另一个类并共享静态变量
class ThirdClass {
public static String sharedString;
}
class Main {
ThirdClass.sharedString = "somevalue";
}
class Second {
localVar = ThirdClass.sharedString;
}
答案 1 :(得分:0)
您可以通过以下方式进行操作:
@q{Da oggi sarai conosciuto anche come @b{"guds morder"}b@: uccisore di Dei}q@, furono le ultime parole che sentì.
如果创建一个新对象,并且创建该字符串是必需的-> great,请将该字符串作为构造函数中的必要条件。 (第一个版本)
如果您创建一个新对象,并且创建该字符串不是必需的-> great make a property(第二版)
很少需要使用第三版(您可以在不创建对象的情况下设置字符串),而在Java中则应完全避免使用第四版。
答案 2 :(得分:-1)
在主.java
文件中,添加以下内容:
second example = new second("variable");
然后可以在您的main方法内的任何地方引用它。例如:
example.setString("variable);
然后,在第二个.java
文件中,您需要添加以下内容:
public class second
{
private String variable;
public void setString(String pass)
{
variable = pass
}
}
这样,您传递给主.java
文件中的示例变量的所有内容
将会传递给setString
方法。