私は現在解析しているアプリケーションで作業していますので、ユーザのリストが必要です。名前の1つをタップすると、そのプロファイルで新しいアクティビティが開始されます。 aアクティビティが起動されると、解析オブジェクトのobjectIdがインテントを持つアクティビティに送信されます。ここに私の問題があります:私は、活動のタイトルをユーザー名にします。私は解決策を見つけましたが、それはやや奇妙です。誰かがより良い解決策を持っているのだろうか?ここで AppBarのタイトルを設定する
は私のコードです(正常に動作しますが、私は二回のタイトルを設定する必要があり、それ以外の場合は動作しません):public class UserProfileActivity extends AppCompatActivity {
String userId;
String username;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_profile);
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
userId = getIntent().getStringExtra("userId");
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("objectId", userId);
query.setLimit(1);
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> objects, ParseException e) {
if (e == null) {
if (objects.size() != 0) {
for (ParseUser user : objects) {
Log.i("AppInfo", user.getUsername());
getSupportActionBar().setTitle(user.getUsername());
username = user.getUsername();
}
}
}
}
});
getSupportActionBar().setTitle(username);
}
}
このコードに問題はありますか? –
私はそれを表示するためにタイトルを2回設定する必要があるのだろうと思っています – Dedpul