노트 애플리케이션과 같은 프로젝트를 프로그래밍하고 싶습니다. android studio를 사용하고 있는데이 코드 샘플로 시작했지만 이해할 수없는 두 가지가 있습니다. getInput에가 == null이 항상 두 번째 false.And 이유Android Studio에서 ArrayList를 사용하여 올바른 방법
else if (getInput == null || getInput.trim().equals(""))
먼저 하나 하나
Error:Execution failed for task ':app:transformDexWithInstantRunSlicesApkForDebug'.> > java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
내가 얻을 나는 그것을 의미하지만, 내가 좋아하는 뭔가를 넣어하는 방법을 잘 누구인지 알고 있다고 생각이 오류 {arraylist의 시작으로. 미리 감사드립니다.
package com.example.mobile;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
Button button1;
ArrayList<String> addArr = new ArrayList<>();
ListView list1;
EditText txt1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list1 = findViewById(R.id.listView);
button1 = findViewById(R.id.button);
txt1 = findViewById(R.id.edit);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String getInput = txt1.getText().toString();
if(addArr.contains(getInput)){
Toast.makeText(getBaseContext() , "Item already exist", Toast.LENGTH_LONG).show();
}
else if (getInput == null || getInput.trim().equals("")){
Toast.makeText(getBaseContext(), "No input is given" , Toast.LENGTH_LONG).show();
}
else{
addArr.add(getInput);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this , android.R.layout.simple_list_item_1, addArr);
list1.setAdapter(adapter);
((EditText)findViewById(R.id.edit)).setText(" ");
}
}
});
}
}
, 등을 확인해야하지만 사용자가 원하는 경우가 비어있을 수 있습니다 EditText에 아무것도 쓸 수 없습니까? –
비어있을 수도 있지만 예 (null이 아님) 일 수 있습니다. ''에서와 같이 비어 있습니다. 방금 String getInput이라고 말하면 null이됩니다. String보다 getInput = txt1.getText(). toString(); 이 경우에는 가치가 없기 때문입니다. 빈 문자열 ""은 기술적으로 값입니다. 배열에 getInput이 포함되어 있는지 확인하기 전에 먼저 테스트를 해보는 것이 좋습니다. –
그래, 나는 대답을 게시하자마자 그 질문에 의존한다. 첫 번째 질문에 답변 해 주셔서 감사합니다. –