我是android开发新手。 我正在尝试编写与拍卖相关的应用程序。 我研究了这个开源应用程序示例并尝试对其进行自定义。 http://product.hubspot.com/blog/building-an-auction-app-in-a-weekend
它将Parse应用为服务器以上传和检索数据。
我需要将一个名为AuctionItem的对象从一个类复制到另一个类,以获取该对象中的变量(objectID)。
AuctionItem.java
@ParseClassName("Item")
public class AuctionItem extends ParseObject {
public AuctionItem() {}
public String getObjectID() { return getString("objectID");}
public String getName() {return getString("name");}
public String getDescription() {return getString("description");}
public String getDonorName() {return getString("donorname");}
}
ItemListActivity.java
public class ItemListActivity extends ActionBarActivity {
List<AuctionItem> allItems = new ArrayList<AuctionItem>();
BaseAdapter adapter;
DataManager data = DataManager.getInstance();
String listQuery = DataManager.QUERY_ALL;
public void setup() {
allItems = data.getItemsMatchingQuery(listQuery, this);
adapter = new AuctionItemAdapter();
}
public class AuctionItemAdapter extends BaseAdapter {
@Override
public AuctionItem getItem(int position) {
return allItems.get(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final AuctionItem item = getItem(position);
}
}
DataManager.java
public class DataManager {
private List<AuctionItem> allItems = new ArrayList<AuctionItem>();
static DataManager singletonInstance;
public static final String QUERY_ALL = "ALL";
public DataManager() {}
public static DataManager getInstance() {
if (singletonInstance == null)
singletonInstance = new DataManager();
return singletonInstance;
}
public List<AuctionItem> getItemsMatchingQuery(String query, Activity context) {
if (query.equals(QUERY_ALL)) {
return allItems;
}
else {
ArrayList<String> queryWords = new ArrayList<String>();
queryWords.addAll(Arrays.asList(query.split(" ")));
ArrayList<AuctionItem> results = new ArrayList<AuctionItem>();
for (AuctionItem item : allItems) {
for (String word : queryWords) {
if (word.length() > 1 &&
(item.getName().toLowerCase().contains(word.toLowerCase()) || item.getDonorName().toLowerCase().contains(word.toLowerCase()) ||
item.getDescription().toLowerCase().contains(word.toLowerCase())))
results.add(item);
}
}
return results;
}
}
}
我想要AuctionItem项目这个对象并从另一个类调用objectID。 我试图制作另一个名为copy and program的拍卖,它喜欢这个:
public AuctionItem copy;
copy = item;
但是当我使用其他类来调用这个变量时,它说: 无法从静态上下文引用非静态字段。
我该怎么做才能得到这个对象。请帮助!!
答案 0 :(得分:0)
尝试获取您的对象:
public AuctionItem copy;
String item = copy.getObjectID();