2017-01-31 21 views
0

私はAndroidスタジオでJava/XMLを教えています。ショッピングリストアプリを作成しようとしていて、配列の中に文字列配列の名前を付ける際に問題があります。私はArrayListを設定しましたが、ArrayListに文字列配列を設定したいと思います。私は(ユーザーからの)文字列の入力を追加しようとすると、私はエラーメッセージが表示されます:リストで([] java.lang.Stringで)Java getText()。String配列の名前を指定するtoString()

アドオンは(java.lang.Stringで)に
を適用することはできませんここで

私のコードです:

public class ShoppingLists extends AppCompatActivity { 

    /* Create ArrayList (from List) and Adapter for the ListView */ 
    List<String[]> shoppingLists = null; 
    ArrayAdapter<String> adapter = null; 
    ListView lv = null; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_shopping_lists); 

     /* Create main array */ 
     shoppingLists = new ArrayList<>(); 

     /* Set view style with adapter */ 
     adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, shoppingLists); 
     lv = (ListView) findViewById(R.id.shoppingListView); 
     lv.setAdapter(adapter); 
    } 

    /* Create a menu. */ 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.shopping_menu, menu); 
     return true; 
    } 

    /* Create actions for menu button presses */ 
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     /* Determine which menu button is pressed */ 
     switch (item.getItemId()) { 
      case R.id.action_add: 
       /* Create an alert dialog for user input */ 
       AlertDialog.Builder builder = new AlertDialog.Builder(this); 
       builder.setTitle(getString(R.string.add_list)); 
       final EditText input= new EditText(this); 
       builder.setView(input); 

       /* If 'OK' is pressed, enter user input as new object into shoppingLists array */ 
       builder.setPositiveButton(getString(R.string.ok_button), new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         /* Convert user input to string and add it to list */ 
         shoppingLists.add(input.getText().toString()); 
         /* Update adapter with new object to make visible */ 
         lv.setAdapter(adapter); 
        } 
       }); 
       builder.setNegativeButton(getString(R.string.cancel_button), new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         /* Exit dialog box without adding new object */ 
         dialog.cancel(); 
        } 
       }); 
       builder.show(); 
       return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 
} 

エラーがここに下線が引かれている:

shoppingLists.add(input.getText().toString()); 

私は単純なものが欠けていると感じていますが、わかりません。

ご協力いただきありがとうございます。

+5

String []のリストがあります。 Stringを追加しようとしています。おそらく[]はお休みで、ショッピングリストをリストにしたいと考えていたのです

答えて

2

List<String[]> shoppingLists = null;それは2つのありソリューション

の1-List<String> shoppingLists = null;

2 -に変更List<String[]> shoppingLists = null;である第一は、文字列の配列にご入力されたテキストを追加し、

List<String> shoppingLists = null; 
1

する必要がありますその文字列配列を次のようにリストに追加します。String[] strArray = {input.getText().toString()}; shoppingLists.add(strArray);

関連する問題