Android setVisibility(View.VISIBLE) does not show the component
<p>I'm using <code>setVisibility()</code> to hide some UI components at <code>onStart()</code>, with the aim of making them reappear under certain conditions at <code>onActivityResult()</code>.</p>

<p>I have set variables as global variable, and assigned to the component at <code>onCreate()</code>.</p>

<p>Code to make the component invisible works correctly, such as <code>auth_btn.setVisibility(View.INVISIBLE);</code></p>

<p>However, at <code>onActivityResult()</code>, <code>auth_btn.setVisibility(View.VISIBLE);</code> does not make the button reappear.</p>

<p>Code (from pastebin in the comments):</p>

<pre><code>private Button auth_btn = null;
private Button newAcc_btn = null;
private EditText mEdit = null;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Set up the window layout
    setContentView(R.layout.main);

    //instance of database adapter
    db = new DBAdapter(this);

    // Get local Bluetooth adapter
    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

    // If the adapter is null, then Bluetooth is not supported
    if (mBluetoothAdapter == null) {
        Toast.makeText(this, "Bluetooth is not available", Toast.LENGTH_LONG).show();
        finish();
        return;
    }

    auth_btn = (Button) findViewById(R.id.btn_auth);
    mEdit = (EditText)findViewById(R.id.text_username);
    newAcc_btn = (Button) findViewById(R.id.btn_newAcc);

    //read every entry from database
    db.load();
}

@Override
public void onStart() {
    super.onStart();

    // If BT is not on, request that it be enabled.
    if (!mBluetoothAdapter.isEnabled()) {
        Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
        startActivityForResult(enableIntent, REQUEST_ENABLE_BT);
        // Otherwise, setup the session
    } else {
        setupSession();
    }
}

private void setupSession () {
    //Authenticate
    auth_btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                out.write(AUTHENTICATE);
                out.flush();
            } catch (IOException e) {
                e.printStackTrace();
            }
            authenticate();
        }
    });

    //Create new account
    newAcc_btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            try{
                out.write(NEWACCOUNT);
                out.flush();
            } catch (IOException e) {
                e.printStackTrace();
            }
            newAccount();
        }
    });

    //Scan QR Code
    Button scan = (Button) findViewById(R.id.btn_scan);
    scan.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent("com.google.zxing.client.android.SCAN");
            intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
            startActivityForResult(intent, SCAN_QR_CODE);
        }
    });

    auth_btn.setVisibility(View.INVISIBLE);
    newAcc_btn.setVisibility(View.INVISIBLE);
    mEdit.setVisibility(View.INVISIBLE);

}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == SCAN_QR_CODE) {
        if (resultCode == RESULT_OK) {
            //Successful scan
            processQR(intent.getStringExtra("SCAN_RESULT"));
            //String format = intent.getStringExtra("SCAN_RESULT_FORMAT"); //format of the code

            //Toast.makeText(this, contents, Toast.LENGTH_LONG).show();
        } else if (resultCode == RESULT_CANCELED) {
            Toast.makeText(this, "Scan failed!", Toast.LENGTH_SHORT).show();
        }
    }
    if (requestCode == REQUEST_ENABLE_BT) {
        // When the request to enable Bluetooth returns
        if (resultCode == Activity.RESULT_OK) {
            // Bluetooth is now enabled, so set up a chat session
            setupSession();
        } else {
            // User did not enable Bluetooth or an error occurred
            Log.d(TAG, "BT not enabled");
            Toast.makeText(this, "Bluetooth cannot be enabled", Toast.LENGTH_SHORT).show();
            finish();
        }
    }

}

public void processQR (String content) {
    String[] contents = content.split(" ");
    if (contents.length != 3) {
        Log.e(TAG, "Not well formed QR Code");
    }
    else {
        appKey = contents[APPKEY];
        macAdd = contents[MACADR];
        my_uuid = UUID.fromString(contents[UUID_STR]);
        Log.d(TAG, macAdd);
        String appName = db.getAppName(appKey);
        Log.d(TAG, appName);
        if (appName == null)
            return;
        Toast.makeText(this, appName, Toast.LENGTH_SHORT).show();
        BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(macAdd);
        try {
            bt = device.createInsecureRfcommSocketToServiceRecord(my_uuid);
            bt.connect();
            in = bt.getInputStream();
            out = bt.getOutputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }
        Log.d(TAG, "Set new acc visible");
        mEdit = (EditText)findViewById(R.id.text_username);
        mEdit.setVisibility(View.VISIBLE);
        newAcc_btn.setVisibility(View.VISIBLE);

        if (db.appAccounts(appKey).getCount() &gt; 0)
            auth_btn.setVisibility(View.VISIBLE);
    }
}
</code></pre>
