2017-10-30 1 views
1

을 눌러 EditText의 텍스트를 가져 오려고합니다. 모두가 ListViewListView에서 EditText의 텍스트를 가져 오는 방법은 무엇입니까?

에있는 것은 여기 내 QuestionAdapter

public View getView(final int position, View contentView, ViewGroup parent) { 

      if (contentView==null){ 
       contentView= LayoutInflater.from(c).inflate(R.layout.actu_list_item,parent,false); 
      } 
      TextView asker = (TextView) contentView.findViewById(R.id.asker_name); 
      TextView date = (TextView) contentView.findViewById(R.id.date); 
      TextView title = (TextView) contentView.findViewById(R.id.question_title); 
      TextView content = (TextView) contentView.findViewById(R.id.question_content); 
      Button answer = (Button) contentView.findViewById(R.id.answer); 
      EditText answerET= (EditText) contentView.findViewById(R.id.answer_edittext); 
      answer_text = answerET.getText().toString(); 
      posit = this.getItem(position); 
      answer.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View view) { 

         Toast.makeText(c,"Post en cours...",Toast.LENGTH_LONG).show(); 
         Answer answerClass = (Answer) posit; 
         FirebaseDatabase database = FirebaseDatabase.getInstance(); 
         FirebaseAuth firebaseAuth1 = FirebaseAuth.getInstance(); 
         FirebaseUser firebaseUser= firebaseAuth1.getCurrentUser(); 
         qe= (Questions) posit; 
         SimpleDateFormat dateFormat=new SimpleDateFormat("HH:mm dd-MM-yyyy", Locale.FRANCE); 
         String date= dateFormat.format(new Date(System.currentTimeMillis())); 
         assert firebaseUser !=null; 
         DatabaseReference Asker = database.getReference(firebaseUser.getUid()+"/name"); 
         Asker.addListenerForSingleValueEvent(new ValueEventListener() { 
          @Override 
          public void onDataChange(DataSnapshot dataSnapshot) { 
           name = dataSnapshot.getValue(String.class); 

          } 

          @Override 
          public void onCancelled(DatabaseError databaseError) { 

          } 
         }); 
         answerClass.setAnswer(answer_text); 
         answerClass.setUsername(name); 
         answerClass.setDate(date); 
         DatabaseReference AnswerRef =database.getReference("Questions/"+qe.getTag_id()); 
         AnswerRef.push().setValue(answerClass).addOnCompleteListener(new OnCompleteListener<Void>() { 
          @Override 
          public void onComplete(@NonNull Task<Void> task) { 
           Toast.makeText(c,"Reponse postée",Toast.LENGTH_LONG).show(); 
          } 
         }); 
       } 
      }); 

      qe= (Questions) this.getItem(position); 
      asker.setText(qe.getQuestion_username()); 
      date.setText(qe.getQuestion_date()); 
      title.setText(String.format("Q: %s", qe.getQuestion_title())); 
      content.setText(qe.getQuestion_content()); 

      contentView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        Toast.makeText(c,qe.getQuestion_username(),Toast.LENGTH_LONG).show(); 
       } 
      }); 

      return contentView; 
     } 

것은 여기에 내가 목록보기를 표시하고있어 내 활동이다.

EditText에 텍스트를 입력 한 다음 관련 버튼을 클릭하면 아무 것도 표시되지 않습니다.

public class Actu extends Fragment { 
    private DatabaseReference db; 
    FirebaseHelper helper; 
    QuestionAdapter adapter; 
    ListView lv; 
    View v; 

    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup 
       container, @Nullable Bundle savedInstanceState) { 
     v = inflater.inflate(R.layout.activity_actu, container, false); 
     lv = (ListView) v.findViewById(R.id.actu_rv); 
     progressBar = (ProgressBar) v.findViewById(R.id.progress_bar); 
     no_connection =(TextView) v.findViewById(R.id.no_connection); 
     db = FirebaseDatabase.getInstance().getReference("Questions"); 
     db.limitToLast(100).orderByKey(); 
     helper = new FirebaseHelper(db); 
     adapter = new QuestionAdapter(getContext(),helper.retreive()); 
     lv.setAdapter(adapter); 


     return v;  } 

} 

여러 방법을 시도했지만 아무런 효과가 없었습니다. 누군가 나를 도울 수 있습니까? 짧은 말로

답변

1

- 당신은 OnClickListener를

answer.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View view) { 
       answer_text = answerET.getText().toString(); 

       ... 
      } 
} 

PS 내부

answer_text = answerET.getText().toString(); 

을 넣어해야합니다. 코드를 읽기가 매우 어렵습니다.

+0

감사합니다. lesniak – user8773560

관련 문제