2016-10-24 49 views
-2

我问如何删除我的数组元素,如果用户选择一个动作,而不是另一个。
我得到了一个关于使我的字符串数组为ArrayList的答案。Studio更改数组值第2部分

现在我想知道如何给我的数据提供id值,以显示下一个孩子的值。
例如,如果用户向希腊按yes,我想显示希腊的城市。

int randome=0; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final Button no = (Button) findViewById(R.id.No); 
    final Button yes=(Button) findViewById(R.id.Yes); 
    final TextView tvMessage=(TextView) findViewById(R.id.tvMessage); 

    final ArrayList<String> country = new ArrayList<>(); 
    country.add("Do you wanna see an Action Movie???"); 
    country.add("Do you wanna see a Comedy Movie???"); 
    country.add("Do you wanna see a Drama Movie???"); 
    no.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      if (randome>=0 && randome<country.size()){ 
       country.remove(randome); 
       Random rand = new Random(); 
       randome = rand.nextInt(country.size()); 
       tvMessage.setText(country.get(randome)); 
      } 
     } 
    }); 
    yes.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Random rand = new Random(); 
      randome = rand.nextInt(country.size()); 
      tvMessage.setText(country.get(randome)); 


     } 
    }); 
} 

这就是我用ArrayList的前一个问题的第一部分。如果没有办法用ArrayList来完成,那么我应该像这样用字符串数组来完成它,我猜。

String[][] countriesAndCities= new String[][]; 
countriesAndCities [0][0] = "United Kingdom"; 
countriesAndCities [0][1] = "London"; 
countriesAndCities [1][0] = "USA"; 
countriesAndCities [1][1] = "Washington"; 
countriesAndCities [2][0] = "India"; 
countriesAndCities [2][1] = "New Delhi"; 
+0

不清楚你在问什么。但是,如果您希望拥有ID的国家/城市,请不要将自己限制为字符串。创建一个'Country'类,它包含'List cities',或者其他东西 –

+0

如果你在android上运行代码,你会得到1个表示欢迎的textView(默认布局是Welcome),并且会有2个按钮,如果你在欢迎textView上按下yes,那么兰德将从国家(country.add(“你想看动作电影???”); country.add(“你想看喜剧电影? “); country.add(”你想看戏剧电影?“);并将显示它来欢迎layout.That我想要的是:如果用户按是到”你是否想看到一个Commedy电影“我想以某种方式显示存储在另一个阵列或类似的电影。 – Kostasfra

回答

1

如果用户按YES“难道你想看到一部喜剧电影”我要以某种方式来显示存储在另一个阵列或类似的

您可以检查一些影片当您单击该按钮时,textview文本等同于什么内容,然后从某个列表/数组中获取适当的数据。

final Random rand = new Random(); 
final TextView tvMessage=(TextView) findViewById(R.id.tvMessage); 

// Some prompts to compare against later 
final String actionMovie = "Do you wanna see an Action Movie???"; 
final ArrayList<String> prompts = new ArrayList<>(); 
prompts.add(actionMovie); 

// Your lists 
final ArrayList<String> actionMovies = new ArrayList<>(); 
actionMovies.add("Terminator 2"); 

// Setup the click event 
findViewById(R.id.Yes).setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 

     // Check which prompt is shown 
     if (tvMessage.getText().toString().equals(actionMovie)) { 

      // Get a random movie 
      String movieTitle = actionMovies.get(rand.nextInt(actionMovies.size())); 

     } else { } // equals something else 
    } 
+0

这就是我想了解的,谢谢你的宝贵答案。 – Kostasfra