おはよう諸君。再び私です、デビッド・ディマランタ。私は質問のためにここにいます。3 人のプレイヤー全員が異なる名前を取得した場合に、トーストに "プロセスが完了しました" という確認メッセージが表示されるプログラムを作成する必要があります。代わりに、全員が同じ名前を持っているわけではありません。
手順:
- 各プレイヤーはスピナーから名前を選びます。
- 値は文字列に書き込まれます。
- ボタンがクリックされると、プロセスはエイリアス (名前) の類似性を評価します。
- 似ている場合、少なくとも 2 つ、トースト メッセージに「別のユーザー名を指定してください」と表示されます。
- そうでない場合は、完了です。
そして、私のアクティビティ名は「Player_3_at_Spinner_Menu.java」です。このクラスの最初の部分のコードは次のとおりです。
//Spinners for Players
private Spinner spinner_1;
private Spinner spinner_2;
private Spinner spinner_3;
//Button to Start
private Button play_it;
//For Displaying Text
private String SUMMON_PICK_UP_1, SUMMON_PICK_UP_2, SUMMON_PICK_UP_3;
private String cplayer_1, cplayer_2, cplayer_3;
//Text Response from a Spinner
public final static String EXTRA_MESSAGE_1 = "com.example.databasetestvertwo.MESSAGE1";
public final static String EXTRA_MESSAGE_2 = "com.example.databasetestvertwo.MESSAGE2";
public final static String EXTRA_MESSAGE_3 = "com.example.databasetestvertwo.MESSAGE3";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.players_3);
//Searching for ID... (Button)
play_it = (Button) findViewById(R.id.START_GAME);
//Adding listener to the button(s).
play_it.setOnClickListener(new trigger_happy_start());
//Call from the Database_Handler.class to call the database.
Database_Handler db = new Database_Handler(getApplicationContext());
//Then, load the content and...
loadSpinnerData();
}
//Insert the value from the database into each of the spinners.
private void loadSpinnerData()
{
//Initialize the spinners.
spinner_1 = (Spinner) findViewById(R.id.player_1_spinner);
spinner_2 = (Spinner) findViewById(R.id.player_2_spinner);
spinner_3 = (Spinner) findViewById(R.id.player_3_spinner);
Database_Handler db = new Database_Handler(getApplicationContext());
List<String> lables = db.getAllLabels();
//Creating an adapter for the spinner...
ArrayAdapter<String> data_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, lables);
data_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//Inserts the spinners by a database.
spinner_1.setAdapter(data_adapter);
spinner_2.setAdapter(data_adapter);
spinner_3.setAdapter(data_adapter);
}
//Action applied if a user chose this item. (Player 1)
public class response_1 implements OnItemSelectedListener
{
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
SUMMON_PICK_UP_1 = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(), "You selected: " + SUMMON_PICK_UP_1, Toast.LENGTH_SHORT).show();
}
public void onNothingSelected(AdapterView<?> arg0)
{
//Do nothing. I guess...
}
}
//Action applied if a user chose this item. (Player 2)
public class response_2 implements OnItemSelectedListener
{
public void onItemSelected(AdapterView<?> parent_2, View view, int position, long id)
{
SUMMON_PICK_UP_2 = parent_2.getItemAtPosition(position).toString();
Toast.makeText(parent_2.getContext(), "You selected: " + SUMMON_PICK_UP_2, Toast.LENGTH_SHORT).show();
}
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
//Action applied if a user chose this item. (Player 3)
public class response_3 implements OnItemSelectedListener
{
public void onItemSelected(AdapterView<?> parent_3, View view, int position, long id)
{
SUMMON_PICK_UP_3 = parent_3.getItemAtPosition(position).toString();
Toast.makeText(parent_3.getContext(), "You selected: " + SUMMON_PICK_UP_2, Toast.LENGTH_SHORT).show();
}
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
}
そして、すべてのプレイヤー、または少なくとも 2 人のプレイヤーが同じ名前を持っているかどうかを確認するためのコードを次に示します。プロセスは、このアクティビティでも同じ名前を使用しないように警告します。これが私のコードです:
private class trigger_happy_start implements OnClickListener
{
public void onClick(View v)
{
//Checks if the names assigned on each spinner have a the same name.
if
(
SUMMON_PICK_UP_1 == SUMMON_PICK_UP_2 ||
SUMMON_PICK_UP_1 == SUMMON_PICK_UP_3 ||
SUMMON_PICK_UP_2 == SUMMON_PICK_UP_3
)
{
Toast.makeText(getApplicationContext(), "Please specify a different username.", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(getApplicationContext(), "Process complete, idiot.", Toast.LENGTH_SHORT).show();
}
}
}