通过在android studio中使用列表视图接收意图时的特定操作

时间:2016-12-13 10:03:33

标签: android listview

我是android编程,我有2个活动。 活动一包含列表视图 活动二包含:2 Edit TextImage View

活动一有代码XML:

<ListView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/nameList"
    android:fastScrollAlwaysVisible="true"
    android:addStatesFromChildren="false"
    android:visibility="visible"
    android:layout_alignParentStart="true"
    android:layout_above="@+id/refuresh" />

<Button
    android:text="add"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/addlist"
    android:onClick="moveto"
    android:layout_marginEnd="28dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:layout_marginBottom="32dp" />

<Button
    android:text="refrus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/refuresh"
    android:onClick="refrush"
    android:layout_alignTop="@+id/addlist"
    android:layout_alignParentStart="true"
    android:layout_marginStart="27dp" />

有活动2:

    <EditText
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:inputType="textPersonName"
        android:text="Name"
        android:ems="10"
        android:id="@+id/textheare"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/subject" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:text="Name"
        android:ems="10"
        android:layout_marginTop="28dp"
        android:id="@+id/subject"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true" />



    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true"
        android:layout_marginStart="26dp"
        android:layout_marginTop="29dp"
        android:id="@+id/notimg"
       />

    <CheckBox
        android:text="CheckBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/checkBox"
        android:layout_alignBottom="@+id/imageView"
        android:layout_alignParentEnd="true"
        android:layout_marginEnd="65dp"
        android:layout_marginBottom="28dp" />

    <Button
        android:text="Finish"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignStart="@+id/checkBox"
        android:layout_marginBottom="37dp"
        android:id="@+id/Fin" />
活动一中的

包含2个按钮:addrefrus 单击按钮add移动以激活2

活动二中的

包含1个按钮:Finish 单击按钮时Finish将数据存储在SQL Lite的Edit_Text中 并转到活动一

单击按钮refrus位于活动1中时,列表中显示的数据存储在活动2中

我想点击列表,转到活动2并显示数据已存储?

2 个答案:

答案 0 :(得分:0)

可能会对你有所帮助我们可以使用此代码添加数据

MainActivity.java

的ListView =(ListView中)findViewById(R.id.listview);

    dBase=openOrCreateDatabase("invoicedb", Context.MODE_PRIVATE, null);

    Cursor c=dBase.query("company_new", new String[]{"clientname","cphone","cemail","caddress","cfax"}, null, null, null, null, null);

    while(c.moveToNext()){


        arrayList.add(c.getString(0));
        arrayList1.add(c.getString(1));
        arrayList2.add(c.getString(2));
        arrayList3.add(c.getString(3));
        arrayList4.add(c.getString(4));

 }
    BaseAdapter2 adapter = new BaseAdapter2(ExistingContacts.this, arrayList, arrayList1,arrayList2,arrayList3,arrayList4);
    listView.setAdapter(adapter);
    adapter.notifyDataSetChanged();

BaeeAdapter2: -

公共类BaseAdapter2扩展了BaseAdapter {

private Activity activity;
// private ArrayList&lt;HashMap&lt;String, String&gt;&gt; data;
private static ArrayList clientname,cphone,cemail,caddress,cfax;
private static LayoutInflater inflater = null;




public BaseAdapter2(Activity a, ArrayList r, ArrayList bod,ArrayList c,ArrayList d,ArrayList e) {
    activity = a;


    this.clientname = r;
    this.cphone=bod;
    this.cemail=c;
    this.caddress=d;
    this.cfax=e;



    inflater = (LayoutInflater) activity
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

}

public int getCount() {
    return clientname.size();
}

public Object getItem(int position) {
    return position;
}

public long getItemId(int position) {
    return position;
}

public View getView(final int position, final View convertView, ViewGroup parent) {
    View vi = convertView;
    if (convertView == null)
        vi = inflater.inflate(R.layout.listview_item, null);

    TextView clientname_new = (TextView) vi.findViewById(R.id.clientname_hii); // title
    String song = clientname.get(position).toString();
    clientname_new.setText(song);


    TextView phone = (TextView) vi.findViewById(R.id.clientphone);
    String song2 =cphone.get(position).toString();

    phone.setText(song2);

    TextView email = (TextView) vi.findViewById(R.id.email);
    String song3 =cemail.get(position).toString();

    email.setText(song3);

    TextView address = (TextView) vi.findViewById(R.id.address_new);
    String song4 =caddress.get(position).toString();

    address.setText(song4);

    TextView fax = (TextView) vi.findViewById(R.id.fax);
    String song5 =cfax.get(position).toString();

    fax.setText(song5);


    vi.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // Get the position


            Intent intent = new Intent(activity, ExistingPreview.class);
            TextView clientname=(TextView)activity.findViewById(R.id.clientname_hii);
            TextView clientphone=(TextView)activity.findViewById(R.id.clientphone);
            TextView email=(TextView)activity.findViewById(R.id.email);
            TextView address_new=(TextView)activity.findViewById(R.id.address_new);
            TextView fax=(TextView)activity.findViewById(R.id.fax);

            String client_txt=clientname.getText().toString();
            String phone_txt=clientphone.getText().toString();
            String email_txt=email.getText().toString();
            String address_txt=address_new.getText().toString();
            String fax_txt=fax.getText().toString();
            Toast.makeText(activity,client_txt+"\n"+phone_txt+"\n"+email_txt+"\n"+address_txt+"\n"+fax_txt,Toast.LENGTH_LONG).show();


            SharedPreferences spf=activity.getSharedPreferences("mypref",Context.MODE_PRIVATE);
            SharedPreferences.Editor editor=spf.edit();
            editor.putString("client_hii",client_txt);
            editor.putString("clientphone_hii",phone_txt);
            editor.putString("email_hii",email_txt);
            editor.putString("address_hii",address_txt);
            editor.putString("fax_hii",fax_txt);
            editor.commit();

            activity.startActivity(intent);

        }
    });


    return vi;

}

}

答案 1 :(得分:0)

您可以使用以下代码

ListView lView=(ListView) findViewById(R.id.listView1);

String path="/storage/sdcard0/sample_images/";
File f=new File(path);

String [] files = f.list();             (要么)     String [] files = new Strin [] {&#34; hi&#34;,&#34; hello&#34;,&#34; how r u&#34;};    ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(),                                                                 enter code here android.R.layout.simple_list_item_single_choice,files);     lView.setAdapter(适配器);