I have this app wherein it outputs into the list view whatever I input on the status text field. However, I need to add a function that if the status text field is empty, the POST button should not work/be disabled. I actually read about the inclusion of a text watcher but I'm not sure how to integrate it.
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.FitWindowsFrameLayout;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ArrayList<FriendStatusMessage> mMessageList = new ArrayList<FriendStatusMessage>();
ArrayAdapter<FriendStatusMessage> mAdapter = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnPost = (Button) findViewById(R.id.btn_post);
btnPost.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
postMessage();
return;
}
}
);
mAdapter = new ArrayAdapter<FriendStatusMessage>(this, android.R.layout.simple_list_item_1, mMessageList);
ListView lstMessages = (ListView) findViewById(R.id.lst_messages);
lstMessages.setAdapter(mAdapter);
}
private void postMessage() {
EditText edtUsername = (EditText) findViewById(R.id.edt_username);
EditText edtStatusMessage = (EditText) findViewById(R.id.edt_status_msg);
String userStr = edtUsername.getText().toString();
String messageStr = edtStatusMessage.getText().toString();
mMessageList.add(new FriendStatusMessage(userStr, messageStr));
mAdapter.notifyDataSetChanged();
return;
}
private class FriendStatusMessage {
private String mUsername = "";
private String mMessage = "";
public FriendStatusMessage(String username, String statusMessage) {
mUsername = username;
mMessage = statusMessage;
}
public String getmUsername()
{
return mUsername;
}
public String getmMessage ()
{
return mMessage;
}
public String toString() {
return getmUsername() + ": " + getmMessage() + "\n";
}
}
}