Изменить заголовок панели действий с помощью строки для Android

#java #android

#java #Android

Вопрос:

Я хочу изменить заголовок панели действий в файле .java в зависимости от того, какая ячейка задействована. Когда здесь вызывается новое действие, я могу изменить заголовок панели действий только через XML-файл, но я хочу использовать строку из моего предыдущего действия (чтобы изменить заголовок панели действий на тот, который был заголовком ячейки в предыдущем действии).

В этом случае строка будет sText

 public class ListViewAndroidExample extends Activity {

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu items for use in the action bar
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.list_view_android_example, menu);
        return super.onCreateOptionsMenu(menu);
    }

    ListView listView ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view_android_example);

        try {
            setContentView(R.layout.activity_list_view_android_example);

            ListView mlistView = (ListView) findViewById(R.id.list);
            mlistView.setAdapter(new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1,
                    new String[] {"#unlv", "#unr", "#ucla", "#usc"}));

            mlistView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view,
                                        int position, long id) {
                    // When clicked, show a toast with the TextView text Game, Help, Home
                    Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
                            Toast.LENGTH_SHORT).show();
                    String sText = ((TextView) view).getText().toString();

                    Intent intent;
                    intent = new Intent(ListViewAndroidExample.this, ChatRoom.class);
                    startActivity(intent);
                    //else if(sText.equals("Help")) ..........

                }
            });
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    /**
     * Created by Jason on 6/30/2014.
     */
    public static class ChatRoom extends Activity {


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

            setContentView(R.layout.chatlayout);

            this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
        }
    }
}
  

Ответ №1:

Вы пробовали

 getActionBar().setTitle(sText);
  

или

 getSupportActionBar().setTitle(sText);
  

Комментарии:

1. Да. Единственная проблема, которую я получаю, не может разрешить символ… Думаю, я понятия не имею, куда это поместить.

2. поместите это в onCreate() . Или, если вы используете ` startActivityForResult()`, попробуйте ввести его onActivityResult . Дополнительная информация о startActivityForResult : developer.android.com/training/basics/intents/result.html