ユーザーが 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();
}
}