0

ユーザーが ListView で単語のリストを表示し、それらをクリックして翻訳できるアプリケーションを作成しています。私が望んでいるのは、リストに英語の単語を表示することであり、警告ダイアログには、おかしな言葉が表示されます (後で、おかしな言葉をスペイン語の定義に変更します)。

現在、両方の文字列が順番に並んでいるので、リストの最初の単語をクリックすると、アラートには 2 番目の文字列セットの最初の単語が含まれます。リストの 2 番目の単語をクリックすると、2 番目の文字列の 2 番目の単語がアラートに表示されるようにします。リストの 3 番目の単語をクリックすると、2 番目の文字列の 3 番目の単語がアラートに表示されるようにします。私の唯一の問題は、アラートが2番目の文字列から対応するアイテムを表示しないことです。アラートには、リストでクリックされたのと同じ単語のみが表示されます。

単語ごとにアクティビティを作成できることに気付きましたが、それは面倒なように思えたので、アラート ダイアログを使用することにしました。

誰かが私のコードを更新して、2 番目の文字列の単語をアラートに表示する方法を教えてもらえますか?

これは私のコードです:

import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class SpanishActivity extends ListActivity {

 static final String[] basicWords = new String[] {
   "Hello", "Goodbye", "Yes", "No", 
   "Why", "Where", "When", "What ", "Who", "How", "Absolutely", "I", "You",
   "He", "She", "That", "Black", "White", "Red","Orange", "Blue", "Green",
   "Yellow", "Purple", "Later" , "Now", "Today", "Tomorrow", "Left", "Right",
   "Hand", "Mouth", "Tongue", "Nose", "Ear", "Eyes", "Leg", "Dog", "Cat", 
   "Elephant", "Snake", "Camel", "Pen", "Pencil", "Book", "Paper", "Hot",
   "Cold", "Airplane", "Car", "Raining", "Sunny", "Cloudy", "Water", "Please",
   "Help", "Work", "English", "America", "England", "Funny", "Thanks", 
   "Good", "Bad", "Happy", "Sad", 
   };

 String[] spanishBasic = new String[]{
     "afsdfb", "qerg", "nt4th", "erhn", 

       "ehrethn", "rth", "Kub", "ygfd ", "cvb", "ytrfvh", "jhgv", "Mvbay",         "hgfv",

       "gv", "cvbnhg", "gfd", "hgf", "ytr", "hgf","wthw", "wetergh",     "wewrth",

       "weth", "erg", "wrgwr" , "dfghj", "xdhtcjfy", "cfj", "zsrxdtcf", "oiuy",

       "rxjtdcfky", "n", "dfgh", "sdfgh", "fgbh", "nkhn", "ayr", "ota",     "dfgh", 

       "Hafghi", "ghjnp", "Ogtyh", "dfg", "fghn", "fghjnm", "ghn", "hjk",

       "xdcfgh", "xcv", "hjdi", "fghish", "fghoop", "Bhjl", "bnani", "cvbn",

       "Mghj", "bhjam", "hjayzi", "ghjk", "vhj", "vghj", "cfgh", 

       "bhj", "bhjra", "ghjshi", "fghhum",   

 };

   /** Called when the activity is first created. */


 @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setListAdapter(new ArrayAdapter<String>(this,
               android.R.layout.simple_list_item_1, basicWords));
       getListView().setTextFilterEnabled(true);
   }

 @Override
 protected void onListItemClick(ListView l, View v, int position, long id) {
  // TODO Auto-generated method stub
  super.onListItemClick(l, v, position, id);

  new AlertDialog.Builder(this)
   .setTitle("Spanish")
   .setMessage("" + getListView().getItemAtPosition(position))
   .setPositiveButton("Back to List",
     new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int which) {}}
     )
   .show();


 }


}
4

1 に答える 1

1

必要なものをほぼ完了しました。

使用する

.setMessage("" + spanishBasic[position])

代わりに

.setMessage("" + getListView().getItemAtPosition(position))

私のコードはここにあります

 public class SpanishActivity extends ListActivity {

 static final String[] basicWords = new String[] {
   "Hello", "Goodbye", "Yes", "No", 
   "Why", "Where", "When", "What ", "Who", "How", "Absolutely", "I", "You",
   "He", "She", "That", "Black", "White", "Red","Orange", "Blue", "Green",
   "Yellow", "Purple", "Later" , "Now", "Today", "Tomorrow", "Left", "Right",
   "Hand", "Mouth", "Tongue", "Nose", "Ear", "Eyes", "Leg", "Dog", "Cat", 
   "Elephant", "Snake", "Camel", "Pen", "Pencil", "Book", "Paper", "Hot",
   "Cold", "Airplane", "Car", "Raining", "Sunny", "Cloudy", "Water", "Please",
   "Help", "Work", "English", "America", "England", "Funny", "Thanks", 
   "Good", "Bad", "Happy", "Sad", 
   };

 String[] spanishBasic = new String[]{
     "afsdfb", "qerg", "nt4th", "erhn", 

       "ehrethn", "rth", "Kub", "ygfd ", "cvb", "ytrfvh", "jhgv", "Mvbay",         "hgfv",

       "gv", "cvbnhg", "gfd", "hgf", "ytr", "hgf","wthw", "wetergh",     "wewrth",

       "weth", "erg", "wrgwr" , "dfghj", "xdhtcjfy", "cfj", "zsrxdtcf", "oiuy",

       "rxjtdcfky", "n", "dfgh", "sdfgh", "fgbh", "nkhn", "ayr", "ota",     "dfgh", 

       "Hafghi", "ghjnp", "Ogtyh", "dfg", "fghn", "fghjnm", "ghn", "hjk",

       "xdcfgh", "xcv", "hjdi", "fghish", "fghoop", "Bhjl", "bnani", "cvbn",

       "Mghj", "bhjam", "hjayzi", "ghjk", "vhj", "vghj", "cfgh", 

       "bhj", "bhjra", "ghjshi", "fghhum",   

 };

   /** Called when the activity is first created. */


   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setListAdapter(new ArrayAdapter<String>(this,
               android.R.layout.simple_list_item_1, basicWords));
       getListView().setTextFilterEnabled(true);
   }

 protected void onListItemClick(ListView l, View v, int position, long id) {
  // TODO Auto-generated method stub
  super.onListItemClick(l, v, position, id);

  new AlertDialog.Builder(this)
   .setTitle("Spanish")
   .setMessage("" + spanishBasic[position])
   .setPositiveButton("Back to List",
     new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int which) {}}
     )
   .show();


 }


}

頑張って、良い一日を。

于 2012-07-12T03:28:29.153 に答える