메소드를 제가 설정을 안 한 걸까요? 어디에다가 오류가 난 코드를 연결해야하나요..
조회수 442회
public class MainActivity extends AppCompatActivity { Button button1; EditText edittext1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
// button1 = (Button) findViewById(R.id.button1); // edittext1 = (EditText) findViewById(R.id.edittext1);
myRef.addValueEventListener(new ValueEventListener() {
public void click1button (View v){
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
myRef.child("message").push().setValue(edittext1.getText().toString());
}
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
TextView textview1 = (TextView)findViewById(R.id.textview1);
// This method is called once with the initial value and again
// whenever data at this location is updated.
String value = dataSnapshot.getValue(String.class);
textview1.setText(value); //데이터베이스 값
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
}
});
}
public void onClick(View v){
Intent intent = new Intent(this, SubActivity.class);
startActivity(intent);
}
}
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="false"
android:max="5"
android:numStars="5"
android:rating="3"
android:stepSize="0.5" />
<EditText
android:id="@+id/edittext1"
android:layout_width="391dp"
android:layout_height="144dp"
android:ems="10"
android:inputType="textPersonName"
android:text="내용" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/button1"
android:layout_width="204dp"
android:layout_height="100dp"
android:onClick="onClick"
android:text="확인" />
<Button
android:id="@+id/button2"
android:layout_width="204dp"
android:layout_height="100dp"
android:text="Button" />
<TextView
android:id="@+id/textview1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="임시로 만들어진영역" />
</LinearLayout>
에서 public void click1button (View v) 가 작동을 안 하는데, 어디다가 연결을 해야하는지 모르겠네요...
xml을 보시면 버튼이 총 2개인데, 글에 첨부하지는 않았지만 SubActivity로 button1은 다른 액티비티화면이 뜨도록 설정해놓은 상태입니다.
그래서 그런지 click1button이 데이터베이스로부터 값을 받는 역할을 해야하는데 그 작동을 전혀안하네요... 예제보며 하나하나 따라가고 있는데 힘듭니다 ㅠㅠ
제가 참조하고 있는 것은 http://blog.naver.com/PostView.nhn?blogId=kkrdiamond77&logNo=221305647401&parentCategoryNo=&categoryNo=65&viewDate=&isShowPopularPosts=true&from=search 이 사이트입니다... 감사합니다
1 답변
-
어떤 코드인지 잘 알아볼 수는 없지만
click1button
는onClick
과 마찬가지로 버튼의 클릭 리스너인 것 같습니다.ValueEventListener
안에 들어갈 것이 아니라 바깥으로 빼주시고,@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("message"); myRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { TextView textview1 = (TextView)findViewById(R.id.textview1); // This method is called once with the initial value and again // whenever data at this location is updated. String value = dataSnapshot.getValue(String.class); textview1.setText(value); //데이터베이스 값 } @Override public void onCancelled(DatabaseError error) { // Failed to read value } }); } public void onClick(View v){ Intent intent = new Intent(this, SubActivity.class); startActivity(intent); } public void click1button (View v){ FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("message"); myRef.child("message").push().setValue(edittext1.getText().toString()); }
어떤 버튼이 출처글 속의
저장
버튼과 같은 역할을 하는지는 모르겠지만button2
인가요?? 마찬가지로 클릭 리스너를 등록해주시면 될 것 같습니다.<Button android:id="@+id/button2" android:layout_width="204dp" android:layout_height="100dp" android:onClick="click1button" android:text="Button" />
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력