2016-04-03 2 views
-4

я получил ошибку ниже: Listitem (String, String) не является общедоступным в Listitem; не могут быть доступны из вне пакета

Error:(91, 37) error: Listitem(String,String) is not public in Listitem; cannot be accessed from outside package

У меня есть 2 пакета

enter image description here

это Listitem.java

public class Listitem implements Parcelable { 
    String id; 
    //String name; 
    String url; 

    Listitem(Parcel in){ 
     this.id = in.readString(); 
     // this.name = in.readString(); 
     this.url = in.readString(); 
    } 

    Listitem(String name, String url) { 
     this.id = id; 
     this.url = url; 
    } 

    @Override 
    public int describeContents() { 
     return 0; 
    } 

    public void setUrl(String url) { 
     this.url = url; 
    } 

    public String getUrl() { 
     return url; 
    } 

    public void setId(String id) { 
     this.id = id; 
    } 

    public String getId() { 
     return id; 
    } 

    @Override 
    public void writeToParcel(Parcel dest, int flags) { 
     dest.writeString(this.id); 
     // dest.writeString(this.name); 
     dest.writeString(this.url); 

    } 

    public static final Parcelable.Creator<Listitem> CREATOR = new Parcelable.Creator<Listitem>() { 
     public Listitem createFromParcel(Parcel in) { 
      return new Listitem(in); 
     } 

     public Listitem[] newArray(int size) { 
      return new Listitem[size]; 
     } 
    }; 
} 

databasehandler

List<Listitem> Objectslist = new ArrayList<Listitem>(); 
     SQLiteDatabase db = this.getWritableDatabase(); 

     String selectQuery = "SELECT "+OBJECT_ID+" ,"+OBJECT_NAME+" ,"+OBJECT_URL +" FROM " + TABLE_OBJECTS; 
     Cursor cursor = db.rawQuery(selectQuery, null); 
     DatabaseUtils.dumpCursorToString(cursor); 
     // looping through all rows and adding to list 
     if (cursor.moveToFirst()) { 
      do { 
       Listitem object = new Listitem("1","b"); 

Почему я получаю сообщение об ошибке? уже Listitem является общедоступным, что мне не хватает?

ответ

3

Если объявить конструктор как это:

Listitem(String name, String url) { 

тогда они будут получить пакет только видимость ... Так что для того, чтобы сделать его доступным в других пакетах вам нужно сделать конструктор общественности тоже:

public Listitem(String name, String url) { 
     this.id = id; 
     this.url = url; 
    } 
+0

ой, я попробовал добавить общедоступный к аргументу, а не конструктору – Moudiz

Смежные вопросы