簡體   English   中英

無法從我的MainActivity訪問另一個類中的方法

[英]Can't access methods in another class from my MainActivity

我正在開發一個Android應用程序。 簡單的東西。 僅一個視圖。 我正在使用兩個軟件包,壽。 助手和主要的。 我創建了該類“ produto”來進行迭代,因此我可以創建一個ArrayList並僅對項目中的一些示例進行硬編碼。 但是,Android Studio(我正在使用3.0)不允許我為arraylist的元素調用設置方法。

這是我MainActivity.java的一部分

package com.example.khovis.mqtt;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.GridLayout;
import android.widget.LinearLayout;
import android.widget.TextView;

import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttCallbackExtended;
import org.eclipse.paho.client.mqttv3.MqttMessage;

import java.util.ArrayList;

import helpers.MQTThelper;
import helpers.Produto;

public class MainActivity extends AppCompatActivity {
    MQTThelper mqttHelper;
    GridLayout myLayout = null;
    TextView dataReceived;
    ArrayList<Produto> lista = new ArrayList<Produto>();

    Produto coisa = new Produto("teste", 300 );

    lista.add(coisa);
    ...

這是我的班級Produto

    package helpers;

/**
 * Created by khovis on 26-11-2017.
 */

public class Produto {

    private double price;

    private String name;

    public Produto(String nome, float v) {
        setPrice(v);
        setName(nome);
    }


    public double getPrice() {
        return price;
    }


    public String getName() {
        return name;
    }


    public void setPrice(double price) {
        this.price = price;
    }


    public void setName(String name) {
        this.name = name;
    }

}

現在,它說對象coisa是一個類(顯然不是)。 這是一門未知的課。

如果我將“ coisa”更改為“ new Produto()”,則表示無法解析符號“ add”

我以前(去年)使用過Java,但是我從未見過像這樣的怪異東西。

有誰知道如何解決這個問題? 我只想將對象“ coisa”添加到arrayList

感謝您的關注

我的猜測是您正在嘗試在方法之外添加“ coisa”。 也許在onCreate()方法中執行此步驟。 另一種方法是像這樣將其直接添加到ArrayList

ArrayList<Produto> lista = new ArrayList<Produto>() {{
    add(new Produto("teste", 300));
}};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM