ノートアプリケーションのようなプロジェクトをプログラミングしたいと思っています。私はアンドロイドスタジオを使用しており、私はこのコードサンプルで始まったが、私が理解していない2つのことがある。ArrayListをAndroidスタジオで使用する
else if (getInput == null || getInput.trim().equals(""))
まず一つはか、getInputは== nullが常に秒1
Error:Execution failed for task ':app:transformDexWithInstantRunSlicesApkForDebug'.> > java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
をfalse.Andている理由私は、私はそれが何を意味するか知っていると思うが、私はのようなものを置く方法を確認していない、このエラーを取得しています{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に何も書き込まないのですか? –
空であっても構いませんが、ヌルではありません。 ""のように空です。 String getInputと言っただけではnullになります。 StringではなくgetInput = txt1.getText()。toString();その場合は価値がないからです。空の文字列は技術的に値です。また、配列にgetInputが含まれているかどうかを確認する前に、まずそれをテストすることをお勧めします。 –
ええ、私は自分の答えを投稿するとすぐにそれを信じます。私の最初の質問人に答えてくれてありがとう。 –