Спиннер не работает. Ничего не отображается - PullRequest
0 голосов
/ 17 июня 2020

У меня проблема с отображением значений счетчика в Android. Я вызвал активность из другого вида деятельности.

Я активирую свою Activity из этого:

public void onResponse(Call call, final Response response) throws IOException {
                // In order to access the TextView inside the UI thread, the code is executed inside runOnUiThread()
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        TextView responseTextLogin = findViewById(R.id.responseTextLogin);
                        try {
                            String loginResponseString = response.body().string();
                            //JSONObject user = response.getJSONObject("user");
                            JSONObject jsonResponse = new JSONObject(loginResponseString);
                            Log.d("Message", "Message form the server : " + jsonResponse.getString("message").trim());
                            Log.d("LOGIN", "Response from the server : " + loginResponseString);
                            if (jsonResponse.getString("message").trim().equals("Successfully logged in.")) {
                                Log.d("LOGIN", "Successful Login");

                                HERE
                                setContentView(R.layout.activity_display_message);
                                HERE

                                TextView responseTextLoginToScreen = findViewById(R.id.textView);
                                responseTextLoginToScreen.setText(jsonResponse.getString("message").trim());
                                //finish();//finishing activity and return to the calling activity.
                            } else if (jsonResponse.getString("message").trim().equals("User not found or Invalid login details.")) {
                                responseTextLogin.setText("Login Failed. Invalid username or password.");
                                Log.d("LOGIN", "Unsuccessful Login");
                            } else {
                                //responseTextLogin.setText(loginResponseString);
                            }
                        } catch (Exception e) {
                            e.printStackTrace();
                            responseTextLogin.setText("The page is unreachable. Please try soon.");
                        }
                    }
                });
            }

Когда отображается activity activity_display_message, никакие функции не выполняются из этого:

public class DisplayMessageActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display_message);
        Log.d("LOGIN", "TEST!!!");
        final Spinner spinner = findViewById(R.id.spinner);
        // Spinner click listener
        spinner.setOnItemSelectedListener(this);

        // Spinner Drop down elements
        List<String> categories = new ArrayList<String>();
        categories.add("Automobile");
        categories.add("Business Services");
        categories.add("Computers");

        // Creating adapter for spinner
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);

        // Drop down layout style - list view with radio button
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        Log.d("LOGIN", categories.toString());
        // attaching data adapter to spinner
        spinner.setAdapter(dataAdapter);
    }
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        // On selecting a spinner item
        String item = parent.getItemAtPosition(position).toString();
        Log.d("LOGIN", item);
        // Showing selected spinner item
        Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show();
    }
    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub
    }
}

Спинер пусто, Log.d () даже ничего не отображает. Пожалуйста, дайте мне какие-нибудь предположения, что происходит, почему это не работает. Я не уверен, активна ли эта активность DisplayMessageActivity после вызова.

Помогите!

...