아마 이것에 대한 간단한 대답이 있습니다 : 내 경고 상자가 표시되면 EditText
의 내용을 문자열에 저장하려고 시도하지만 문자열은 항상 비어 있습니다. 당신은 onCreate
에서 inputElement
의 새로운 인스턴스 생성문자열이 edittext 필드로 채워지지 않습니다. 안드로이드
0
A
답변
3
사전에
public class MainActivity extends Activity {
EditText inputElement;
Spinner spinner;
MySQLiteAdapters adapter;
MySQLiteHelper helper_ob;
AlertDialog dialog;
List<String> lables;
String contents;
ArrayAdapter<String> dataAdapter;
public static final String PREFS = "examplePrefs";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button start = (Button) findViewById(R.id.start);
//start.setVisibility(View.GONE);
spinner = (Spinner) findViewById(R.id.spinner1);
inputElement = new EditText(this);
adapter = new MySQLiteAdapters(getApplicationContext());
lables = adapter.getAllLabels();
exmaplePrefs = getSharedPreferences(PREFS, 0);
editor = exmaplePrefs.edit();
final AlertDialog firstTimeUse = new AlertDialog.Builder(this)
.setView(inputElement)
.setTitle("TITLE")
.setCancelable(false)
.setPositiveButton(android.R.string.ok, null).create();
firstTimeUse.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
Button b = firstTimeUse.getButton(AlertDialog.BUTTON_POSITIVE);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
contents = inputElement.getText().toString();
if (contents.matches("")){
showAlertbox("You Must Enter a Team");
}else{
adapter.insertTeamDetails(contents);
List<String> lables = adapter.getAllLabels();
dataAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_spinner_item, lables);
spinner.setAdapter(dataAdapter);
lables.add("Add New Team...");
firstTimeUse.dismiss();
}
}
});
}
});
if (lables.isEmpty())
{
firstTimeUse.show();
}
else{
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
lables.add("Add New Team...");
}
감사 :
inputElement = new EditText(this);
그래서 그것의 텍스트는 항상 비어 코드
contents = inputElement.getText().toString();
레이아웃에 추가하지 마십시오.
findViewById
을 사용하여 레이아웃에서 인스턴스화하거나 코드의 레이아웃에 추가하십시오.
1
SetView(View view)
은 뷰 요소를 취합니다. 어떻게 거기에 EditText를 추가 할 지 모르겠습니다. 당신은 레이아웃 파일 자체가 이런 일에 편집 텍스트를 추가 할 수 있습니다 :
이 같은에서 onCreate 뭔가를 선언
inputElement = (EditText) findViewById(R.id.EditTextPassword);
당신은 다음과 같은 문자열을 얻을 수 있습니다 :
inputElement.getText().toString();
관련 문제
- 1. 문자열이 제대로 채워지지 않습니다.
- 2. 문자열이 안드로이드 토스트에 나타나지 않습니다
- 3. 쉼표 (,)가 포함 된 문자열이 채워지지 않습니다.
- 4. Android :: 데이터가 데이터베이스를 통해 EditText 필드로 검색되지 않습니다.
- 5. TableRow가 오른쪽으로 채워지지 않습니다.
- 6. Edittext 부모를 채우지 않습니다
- 7. 문자열이 완전히 채워지지 않은 문자 배열
- 8. ListView 안드로이드 EditText
- 9. edittext (안드로이드) 포맷 방법
- 10. 안드로이드 EditText : 포커스 개요
- 11. 안드로이드 확장 EditText
- 12. 안드로이드 EditText 부정
- 13. NullPointerException이 : 안드로이드 EDITTEXT
- 14. ListView가 변경되는 안드로이드 EditText
- 15. 안드로이드 EditTExt 쿼리
- 16. SimpleCursorAdapter가 ListView에 채워지지 않습니다.
- 17. ListView가 채워지지 않습니다
- 18. 데이터가 textview에 채워지지 않습니다. - Android
- 19. 안드로이드 스크롤 텍스트 EditText 위젯
- 20. SelectList가 채워지지 않습니다.
- 21. ASEventSourcesTable이 채워지지 않습니다.
- 22. 배열이 채워지지 않습니다
- 23. FormCollection이 채워지지 않습니다.
- 24. 목록보기가 채워지지 않습니다.
- 25. 데이터가 테이블에 채워지지 않습니다.
- 26. 목록이 채워지지 않습니다 #
- 27. Google 밝기지도가 채워지지 않습니다
- 28. NSDictionary가 채워지지 않습니다
- 29. listView가 채워지지 않습니다?
- 30. 알고리즘이 배열에 채워지지 않습니다.
.setView (inputElement)는 AlertDialog에 추가하지 않습니까? –
나는 이런 식으로 사용 된 적이 한번도 보지 못했습니다. 일반적으로 뷰의 요소를 추가하고 찾은 뷰를 확장합니다. 다음과 같이 : http://developer.android.com/guide/topics/ui/dialogs.html#CustomLayout – Szymon