2017-11-27 20 views
0

私はAndroidアプリケーションを開発しています。シンプルなもの。 1つのビューのみ。私は2つのパッケージを使用しています。ヘルパーと主なもの。私はitensを作るためにこのクラス "produto"を作ったので、私はArrayListを作成し、プロジェクトのためにいくつかのexemplesをハードコーディングすることができます。しかし、Androidスタジオ(私は3.0を使用しています)は私がarraylistの要素のためのセッターを呼び出させません。ここ 私のMainActivityから別のクラスのメソッドにアクセスできない

は、私のクラスは、(それがオブジェクト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; 
    } 

} 

それが今ある方法ですここで私の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()」は「coisa」を変更した場合

さは、それは私が(昨年の)前のJavaを使用しました

を「追加」のシンボルを解決できないと言いますが、私のような奇妙なものを見たことがありませんこの。

誰もこれを解決する方法を知っていますか?私はちょうど私の推測では、あなたがメソッドの外に「coisa」を追加しようとしているあるArrayListに注目を集めるため

おかげ

+1

正確なエラーを含めてください。 – George

+1

もインポートするパッケージ階層のpls –

+0

@George 4エラー: 1-シンボルが 2-識別子を追加し解決することはできませんが、私は文字通りちょうどそれを試してみました 3 - 予期しないトークン 、4-未知のクラスのcoisa " –

答えて

1

をオブジェクトのcoisa 'を追加します。たぶんonCreate()メソッドでこの手順を実行してください。もう1つの方法は、このようにArrayListに直接追加することができます。

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

を期待し、それが解決しました。ありがとう –

関連する問題