有没有办法根据Text或ActionBar更改TextView?

时间:2017-12-03 17:26:38

标签: java android google-cloud-vision

嗨所以,我正在尝试为我正在进行的涉及谷歌云Api的项目申请。基本上,应用程序将扫描游戏的名称(在这种情况下可能只是使用游戏作为示例),并且它移动到的活动将填充基于扫描的游戏名称的文本视图。我将在下面提供代码,但基本上我现在所拥有的只是应用程序扫描徽标并且它将出现在下一个活动的ActionBar中,有没有办法填充TextView' s我将根据返回到操作栏的标题进入?或者有没有办法根据意图中发送的文本设置它?

徽标发件人的代码。这基本上只是意图。变量文本是通过云视觉API传递的文本。

 public void run() {
  Toast.makeText(getApplicationContext(),
  text.getText(), Toast.LENGTH_LONG).show();

 Intent intent = new Intent(LogoDetectionActivity.this, GameInfoActivity.class);
 intent.putExtra("TITLE", text.getText());
 startActivity(intent);
}

要设置为操作栏的新活动的代码:

public class GameInfoActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_game_info);

    String title = getIntent().getExtras().getString("TITLE");
    getSupportActionBar().setTitle(title);

}

public void goToLogoDetection(View view) {
    Intent intent = new Intent(this, LogoDetectionActivity.class);
    startActivity(intent);
}
}

如果有人可以帮助我,我们将不胜感激!

编辑:只是因为我似乎引起了一些混乱,我想要的是让TextView的内容根据标题进行更改,但不仅仅是Textview中的标题。例如,如果标题与马里奥有关,那么textview的内容将包括有关马里奥的信息,而不是标题"马里奥"。任何其他游戏都一样。当然,我知道我必须在本文中编写自己的内容,但这是另一个故事。

3 个答案:

答案 0 :(得分:0)

我不知道我是否正确理解了这个问题。这会回答你的问题吗?

textView.setText(getSupportActionBar().getTitle());

答案 1 :(得分:0)

直接使用意图中传递的字符串。假设您的TextView对象是 textView ,那么

textView.setText(title);

无需从行动栏中取出。

答案 2 :(得分:0)

据我了解你的问题,你想从你的活动的行动栏中取出标题,并想要在文本视图中设置,你可以通过这样做来实现

String actionBarTitle = getSupportActionBar().getTitle() ;
yourTextView.setText(actionBarTitle);