2017-10-30 9 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

関連する問題