2016-11-23 7 views
0

Ich versuche eine Gruppennachricht zu erstellen, und ich versuche gerade, mein Layout funktionsfähig zu machen. Ich habe ein Fragment, das für das Messaging verwendet wird, so dass Benutzer ein Seitenmenü verwenden können zwischen den Dingen wechseln.FloatingActionButton und EditText nicht anklickbar

Mein Problem ist, dass die Tastatur nicht aufkommt, wenn ich auf das Bearbeitungsfeld klicke. und dass nichts passiert, was die Sie auf die Floating-Aktionstaste

Vielen Dank im Voraus

Ich habe folgende xml.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/chat_main" 

    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity"> 

    <android.support.design.widget.FloatingActionButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:clickable="true" 
     android:id="@+id/fab" 
     android:src="@drawable/ic_send_white_24dp" 
     android:tint="@android:color/white" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentEnd="true" 
     app:fabSize="mini" /> 

    <android.support.design.widget.TextInputLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@id/fab" 
     android:clickable="true" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentStart="true"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="Message" 
      android:id="@+id/input" /> 
    </android.support.design.widget.TextInputLayout> 

    <ListView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentStart="true" 
     android:layout_above="@id/fab" 
     android:dividerHeight="16dp" 
     android:divider="@android:color/transparent" 
     android:id="@+id/list_of_messages" 
     android:layout_marginBottom="16dp"/> 
</RelativeLayout> 

In meiner Fragment-Klasse habe ich nur die onCreateView und onCreate

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     mView = inflater.inflate(R.layout.chat_main, container, false); 
     ListView listOfMessages = (ListView) mView.findViewById(R.id.list_of_messages); 
     fab = (FloatingActionButton) mView.findViewById(R.id.fab); 
     fab.bringToFront(); 
     input = (EditText) mView.findViewById(R.id.input); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Toast.makeText(getActivity(), "clicked", Toast.LENGTH_LONG).show(); 

       input.setEnabled(true); 
       // Read the input field and push a new instance 
       // of ChatMessage to the Firebase database 
       mMessagesDatabase 
         .push() 
         .setValue(new ChatMessage(input.getText().toString(), 
           mUser.getDisplayName()) 
         ); 
       // Clear the input 
       input.setText(""); 
      } 
     }); 
     adapter = new FirebaseListAdapter<ChatMessage>(getActivity(), ChatMessage.class, 
       R.layout.message, mMessagesDatabase) { 
      @Override 
      protected void populateView(View v, ChatMessage model, int position) { 
       // Get references to the views of message.xml 
       TextView messageText = (TextView) v.findViewById(R.id.message_text); 
       TextView messageUser = (TextView) v.findViewById(R.id.message_user); 
       TextView messageTime = (TextView) v.findViewById(R.id.message_time); 
       // Set their text 
       messageText.setText(model.getMessageText()); 
       messageUser.setText(model.getMessageUser()); 
       // Format the date before showing it 
       messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)", 
         model.getMessageTime())); 
      } 
     }; 
     listOfMessages.setAdapter(adapter); 
     return mView; 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     mUser = FirebaseAuth.getInstance().getCurrentUser(); 
     mMessagesDatabase = FirebaseDatabase.getInstance().getReference().child("Messages"); 


    } 

Antwort

0

hinzufügen android:focusable="true" und android:focusableInTouchMode="true" in Ihre EditText

+0

Das es nicht beheben .... –