2015-05-30 94 views

回答

0

要將值從一個活動傳遞給另一個活動,請將Intent與Bundle一起使用。一個Bundle是一個包含一組對象的對象,你將在一個鍵/值存儲中設置對象(我假定它是由一個HashMap支持的)。在你的情況下,你想傳遞兩個EditText值(字符串)。所以,你要使用一個Bundle傳遞通過Intent到另一個活動:在第一類

//In first Activity that isn't the ListView Activity 
    Intent intent = new Intent(this, YourListActivity.class); 
    Bundle bundle = new Bundle(); 
    bundle.putString("stringOne", editTextOne.getText().toString()); 
    bundle.putString("stringTwo", editTextTwo.getText().toString()); 
    intent.putExtras(bundle); 
    startActivity(intent); 

    //Now in your List Activity's onCreate() method you can do the following 
    Bundle extras; 
    if(getIntent().getExtras() != null){ 
     extras = getIntent().getExtras(); 
    } 

    //Now, anywhere after in your List Activity you can access 
    //the EditText strings from first Activity 

    // (Somewhere later in your code, or just in your onCreate method) 
    String first = extras.getString("stringOne"); 
    String second = extras.getString("stringTwo"); 
+0

Thanq!但如何檢索編輯文本值到列表視圖?就像你能給列表視圖適配器的語法 – user3798872

+0

在ListView適配器中,你可以傳遞一個String []或者列表,這些字符串中有我想到的那兩個字符串給構造函數。你打算如何使用這兩個EditText字符串?如果是用於頁眉/頁腳,則可以簡單地將它們放在適配器之外的活動中 –

0

Button button = (Button) findViewById(R.id.button); 
    EditText editT1 = (EditText) findViewById(R.id.editT1); 
    EditText editT2 = (EditText) findViewById(R.id.editT2); 
button.setOnClickListener(new OnClickListener() 
     { 
      @Override 
      public void onClick(View v) 
      { 
       Intent intent = new Intent(First_activity.this,Second_activity.class); 
       intent.putExtra("text1", et1.getText().toString()); 
       intent.putExtra("text2", et2.getText().toString()); 
       intent.putExtra("Image_URL", "your_image_url"); 
       startActivity(intent); 
      } 
     }); 

然後在第二類

ListView List; 

@覆蓋 保護無效的onCreate( Bundle savedInstanceState)
{ super .onCreate(savedInstanceState); setContentView(activity_second); Intent intent = getIntent(); String text1 = intent.getStringExtra(「text1」); String text2 = intent.getStringExtra(「text2」);

List=(ListView) findViewById(R.id.ListView);//your listview id 
    ListAdapter ListAdapter=new ListAdapter(this,text1,text2); 
    List.setAdapter(ListAdapter); 

} 

現在,創建自己的listadapter

import android.app.Activity; 
    import android.view.LayoutInflater; 
    import android.view.View; 
    import android.view.ViewGroup; 
    import android.widget.BaseAdapter; 
    import android.widget.TextView; 

    public class ListAdapter extends BaseAdapter 
    { 
     Activity context; 
     String title[]; 
     String description[]; 

     public ListAdapter (Activity context, String[] title, String[] description) { 
      super(); 
      this.context = context; 
      this.title = title; 
      this.description = description; 
     } 

     public int getCount() { 
      // TODO Auto-generated method stub 
      return title.length; 
     } 

     public Object getItem(int position) { 
      // TODO Auto-generated method stub 
      return null; 
     } 

     public long getItemId(int position) { 
      // TODO Auto-generated method stub 
      return 0; 
     } 

     private class ViewHolder { 
      TextView txtViewTitle; 
      TextView txtViewDescription; 
     } 

     public View getView(int position, View convertView, ViewGroup parent) 
     { 
      // TODO Auto-generated method stub 
      ViewHolder holder; 
      LayoutInflater inflater = context.getLayoutInflater(); 

      if (convertView == null) 
      { 
       convertView = inflater.inflate(R.layout.dital_list_view, null);//your listview layout 
       holder = new ViewHolder(); 
       holder.txtViewTitle = (TextView) convertView.findViewById(R.id.titleText);//forst textview id 
       holder.txtViewDescription = (TextView) convertView.findViewById(R.id.descriptionText); 
       convertView.setTag(holder);//second text view id 
      } 
      else 
      { 
       holder = (ViewHolder) convertView.getTag(); 
      } 

      holder.txtViewTitle.setText(title[position]); 
      holder.txtViewDescription.setText(description[position]); 

      return convertView; 
     } 

    } 

現在創建列表視圖佈局

<?xml version="1.0" encoding="UTF-8"?> 

    -<LinearLayout android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="horizontal" xmlns:android="http://schemas.android.com/apk/res/android"> 

    <TextView 
android:layout_height="wrap_content" 
android:layout_width="match_parent" 
android:id="@+id/titleText"/> 

    <TextView 
android:layout_height="wrap_content" 
android:layout_width="match_parent" 
android:id="@+id/descriptionText" /> 

    </LinearLayout> 

我希望這是有幫助的

相關問題