package com.example.manya.eventspage;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.text.*;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.*;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class Events extends AppCompatActivity {
private TextView t;
private static ListView l;
private static ArrayAdapter<String> adapter;
final static ArrayList<String> arrayList = new ArrayList<String>();
FirebaseDatabase database=FirebaseDatabase.getInstance();
protected DatabaseReference myRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_events);
t = (TextView) findViewById(R.id.textView3);
l = (ListView) findViewById(R.id.list_view);
myRef=database.getReference().child("events");
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String val=dataSnapshot.child("events").getValue(String.class);
arrayList.add(val);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
// Adapter: You need three parameters 'the context, id of the layout (it will be where the data is shown),
// and the array that contains the data
adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, arrayList);
l.setAdapter(adapter);
}
protected void onResume()
{
super.onResume();
Intent in=getIntent();
if(in.hasExtra(Intent.EXTRA_TEXT))
{
String d=in.getStringExtra(Intent.EXTRA_TEXT);
final DatabaseReference postsRef = database.getReference().child("events");
DatabaseReference newPostRef = postsRef.push();
newPostRef.setValue(new event(d));
arrayList.add(d);
// next thing you have to do is check if your adapter has changed
adapter.notifyDataSetChanged();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.add_event) {
Context context=Events.this;
Class destclass=addevent.class;
Intent str=new Intent(context,destclass);
startActivity(str);
return true;
}
return super.onOptionsItemSelected(item);
}
{
"events" : {
"events" : {
"-KkfUKAYAriWN7NYqTcx" : {
"event_detail" : "21 05 2017, 20:20TextView"
}
}
}
}
您的代码未能处理以下事实:在/events/events
下有一个事件列表。要正确处理这一问题,您有两种方法:
ValueEventListener
并循环子节点ChilDeventListener
第一个最接近您当前的代码,只是添加了一个额外的循环:
myRef=database.getReference().child("events/events"); // note the change in path
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
String val=childSnapshot.getValue(String.class);
arrayList.add(val);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException(); // don't ignore errors
}
});
myRef=database.getReference().child("events/events"); // note the change in path
myRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String previousChildKey) {
String val=dataSnapshot.getValue(String.class);
arrayList.add(val);
}
...
});
问题内容: 我在代码隐藏中收到转换失败的错误。我的代码如下: 我收到以下错误: 将nvarchar值转换为数据类型int时,转换失败。 在这里必须进行哪些更改? 问题答案: 我想这是一个整数,但您正在分配一个字符串。因此,这可能会解决它: 编辑:由于您已评论该会话存储了用户名,但该列是一个int列,因此您有三个选择: 更改会话以存储用户标识而不是名称 更改列以存储用户名 从存储用户名的表中选择用户
问题内容: 我创建了一个过程并收到了此消息 将varchar值’%’转换为数据类型int时,转换失败。 我不知道这可能是什么,但是当我将过程更改为这样时: 似乎工作正常。我是SQL的新手,所以可以得到任何帮助,也许有更好的方法来做我想做的事情? 问题答案: 这是在子句中: 是一个整数。因此,您需要将其转换为字符串: 为什么要使用称为的列是可疑的。也许您只想要:
问题内容: 尝试运行SQL查询时出现此错误… 将varchar值’Id’转换为数据类型int时转换失败 请帮我 :( 问题答案: 在您的情况下,请确保一列是类型,另一列是类型。 由于优先级高于,因此列将隐式转换为 因此,将列明确转换为varchar。 我已经考虑了如果不是的类型,然后转换为
我正在尝试编写一个android静态编程语言应用程序,但我得到了以下错误。我哪里出错了? 这是我如何声明我的HashMap: 错误: 类型推断失败。没有足够的信息来推断构造函数HashMap中的参数K。请明确说明
嗨,伙计们,我有一个错误,当我试图发送数组字符串与猫鼬模式其工作正常的标签,而不是selectedFile... 猫鼬模式: controller.js 类型js 对于测试,我将dammy值设置为[“imgar”],并收到以下错误消息:“PostMessage验证失败:selectedFile:在路径“selectedFile”处为值“['imgar']”(键入数组)转换为字符串失败 我能做什么?
我正在创建一个程序来执行CRUD操作,但出现了一个错误: 对于模型“colt\”的路径“\U id\”处的值“:5e1360c5edb2922570aa2611\”转换为ObjectId失败, 这是我的代码: 以下是显示编辑ejs文件: 这是我的猫鼬模式: