0

この質問は、動作するコードを表示するように変更されました。

ステーキなどのアイテムをクリックすると、そのアイテムを別のリストに配置したいと思います。次にポテトを選択した場合は、それもこの新しいリストに追加して、最後にユーザーが選択したすべてのアイテムを表示するリストを作成する必要があります。これが私がこれまでに持っているものです。

LunchListMenu.java

package com.mycompany.lunch;

import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

public class LunchListMenu extends Activity {  

    /** Called when the activity is first created. */
    @Override
    public void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.maincoarse);
        final ListView lv=(ListView)findViewById(R.id.listView1);              
        ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(this, R.array.lunch_menu,android.R.layout.simple_list_item_1);
        lv.setAdapter(adapter);
        final ArrayList<String> myNewList = new ArrayList<String>();
        lv.setOnItemClickListener(new OnItemClickListener() {



            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {  
                String item=lv.getItemAtPosition(arg2).toString();
                String itemordered;
                itemordered = item + " added to list";
                Toast.makeText(getApplicationContext(), itemordered, Toast.LENGTH_SHORT).show();
                myNewList.add(item);                
            }
        });

                // List View Button
                Button btnLunchList = (Button) findViewById(R.id.lrList);
                btnLunchList.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {                       
                        setContentView(R.layout.selecteditems);
                        ListView selecteditems = (ListView) findViewById(android.R.id.list);
                        ArrayAdapter<String> newadapter = new ArrayAdapter<String>(LunchListMenu.this, android.R.layout.simple_list_item_1, myNewList);              
                        selecteditems.setAdapter(newadapter);
                    }
                });
    }
                    public void shareMyList(View v){
                        // Share Selected Items Button
                        Button btnShareItems = (Button) findViewById(R.id.shareMyList);
                        btnShareItems.setOnClickListener(new View.OnClickListener() {

                            @Override
                            public void onClick(View v) {
                                // TODO Auto-generated method stub

                                Intent share = new Intent(Intent.ACTION_SEND);
                                share.setType("text/plain");
                                share.putExtra(Intent.EXTRA_TEXT, "I'm being sent!!");
                                startActivity(Intent.createChooser(share, "Share Text"));
                            }


                        });
                    }
}

selecteditems.xmlという新しいレイアウトも作成しました

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:background="@drawable/main_background" 
  android:paddingLeft="10.0dip" 
  android:paddingTop="0.0dip" 
  android:paddingRight="10.0dip" 
  android:paddingBottom="10.0dip" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent">

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="100.0dip"
            android:background="@drawable/title" />

        <LinearLayout 
            android:orientation="horizontal" 
            android:background="@drawable/head" 
            android:layout_width="fill_parent" 
            android:layout_height="10.0dip" />    

          <ListView 
              android:id="@android:id/list"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:textSize="25dip"
              android:textStyle="bold"
              android:padding="10dip"
              android:textColor="#ffffff"/>

</LinearLayout>

これで、アイテムが新しく選択されたアイテムに追加されます。

4

2 に答える 2

1

arrayListを作成してアイテムをその中に入れ、「他のリスト」を見つけて、そのリストにこのarrayListをフィードするだけです。

 ArrayList<String> myNewList = new ArrayList<String>();

ItemClickで:

 myNewList.add(item);

そして、リストを設定したいときはいつでも:

ListView newList = (ListView) findViewById(R.id.your_new_list);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, myNewList, android.R.layout.simple_list_item_1);
newList.setAdapter(adapter);
于 2012-07-20T11:45:32.770 に答える
0

リストを取る:

public class arbysListMenu extends ListActivity {
    List<String> itemordered = null;    //  As  global
/** Called when the activity is first created. */
.
.
.
.

次に、アイテムをその時点でitemorderedリストに追加します。クリック:

 @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

            //String item=lv.getItemAtPosition(arg2).toString();

            itemordered.add(lv.getItemAtPosition(arg2).toString());

          ////  Now  FILL  another  ListView, adapter using this itemordered list

        }
        });
于 2012-07-20T11:50:55.517 に答える