0
構建我的第一個應用程序,但無法自行找到解決方案。使用AlertDialog填充列表<String>輸入
什麼我的應用程序的功能:
- MainActivity提示用戶傳遞到下一個活動
現在我想輸入播放量
AlertDialog
一個接一個。這些名稱應該存儲在一個數組中。 我迄今爲止代碼:
public class MainScreen extends AppCompatActivity {
private static final String TAG = MainScreen.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_screen);
try {
Intent intent = getIntent();
final int sumPlayers = getIntent().getIntExtra("sumPlayers", 0);
final List<String> playerNames = new ArrayList<>();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
final EditText input = new EditText(getBaseContext());
input.setTextColor(Color.BLACK);
//input.setSingleLine();
for (int c=0; c<sumPlayers; c++) {
builder.setTitle("Input Player Name");
builder.setView(input);
builder.setPositiveButton("ADD", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
playerNames.add(input.getText().toString());
}
});
builder.show();
}
ArrayAdapter<String> playerAdapter = new ArrayAdapter<String>(this, R.layout.player_list_item, R.id.editText, playerNames);
ListView listView = (ListView) findViewById(R.id.listView_main);
listView.setAdapter(playerAdapter);
} catch (Exception e) {
System.out.println("2te Act");
Log.e(TAG, "[email protected]: ", e);
}
}
}
我得到這個異常@builder.show()
;
Java.lang.IllegalStateException:指定的子項已具有父項。您必須先調用子對象的父對象的removeView()。
它的工作沒有for循環,除了一個小問題。 當我將輸入字段設置爲setSingleLine();
時,listView
保持空白。