我需要制作一个简单的Android应用程序作为我学校作业的一部分。该应用程序应该基本上显示一个图片和一个简短的文本,关于三个运动员(在我的情况下的战士)和一个吐司形式的报价。作为一个机器人的菜鸟,我想我自己走得很远,但现在我需要一些帮助来完成。我做了文字和图像部分,现在是吐司的东西。该应用程序显示吐司,但所有3个,一个接一个。我只是希望它显示与用户点击的战斗机相关的吐司,而不是所有三个。无论如何,这是代码:
有什么想法吗?谢谢:))
package com.example.skvik.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements
View.OnClickListener{
TextView tvHeaderMessage;
private static final
String qmirko = "Right leg hospital, left leg cemetery";
String qfedor = "I don't think about fights that didn't happen.";
String qminotauro = "Every time you lose, it's good because you see
something is amiss. The guy who's on top with no effort just settles.";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initializeUI();
initializeUI1();
initializeUI2();
}
private void initializeUI2() {
this.tvHeaderMessage = findViewById(R. id. fedor);
this.tvHeaderMessage.setOnClickListener(this);
}
private void initializeUI1() {
this.tvHeaderMessage = findViewById(R. id. minotauro);
this.tvHeaderMessage.setOnClickListener(this);
}
private void initializeUI() {
this.tvHeaderMessage = findViewById(R. id. tvmirko);
this.tvHeaderMessage.setOnClickListener(this);
}
public void onClick(View view) {
this.displayToast(qmirko);
this.displayToast(qfedor);
this.displayToast(qminotauro);
}
private void displayToast(String message) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:0)
您必须检查点击了哪个视图。 e.g。
public void onClick(View view) {
if(view.getId() == R.id.qmirko) displayToast(qmirko);
else if(view.getId() ...)
// and so on
}
答案 1 :(得分:0)
尝试这样的事情并为每个视图分配不同的回调,而不是为所有视图分配1:
private void initializeUI1() {
findViewById(R. id. minotauro).setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
MainActivity.displayToast(qminotauro);
}});
}