2013-03-21 16 views
0

我在我的主要活動中有一個列表視圖。在每一行中我都有一個圖像視圖,當我單擊該圖像視圖時,QuickAction(如ios中的popover) appears.My的要求是,我想從的setText列表視圖到另一個活動的EditText上的文字時,我在快速action.Please幫助單擊操作項..當我點擊列表視圖的行動項時將文本從列表視圖傳遞到另一個活動

這是我的主要活動

公共類爲ExampleActivity延伸活動{

private static final int ID_UP = 1; 
private static final int ID_DOWN = 2; 
private static final int ID_SEARCH = 3; 
private static final int ID_INFO = 4; 

private QuickAction quickAction; 
private ActionItem nextItem; 
private ActionItem prevItem; 
private ActionItem searchItem; 

private ListView view; 
private ContactsAdapter adapter; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 

    view = (ListView) findViewById(R.id.listView1); 
    final Weather weather_data[] = new Weather[] { new Weather(R.drawable.icon, "Cloudy"), 
      new Weather(R.drawable.icon, "Showers"), 
      new Weather(R.drawable.icon, "Snow"), 
      new Weather(R.drawable.icon, "Storm"), 
      new Weather(R.drawable.icon, "Sunny") 

    }; 
    adapter = new ContactsAdapter(this, R.layout.main1, 
      weather_data);   
} 


void functiontorun(View view1) { 
    quickAction = new QuickAction(this,QuickAction.HORIZONTAL); 
    nextItem = new ActionItem(ID_DOWN, "Next", getResources().getDrawable(
      R.drawable.menu_down_arrow)); 
    prevItem = new ActionItem(ID_UP, "Prev", getResources().getDrawable(
      R.drawable.menu_up_arrow)); 
    searchItem = new ActionItem(ID_SEARCH, "Find", getResources() 
      .getDrawable(R.drawable.menu_search)); 

    // use setSticky(true) to disable QuickAction dialog being dismissed 
    // after an item is clicked 
    prevItem.setSticky(true); 
    nextItem.setSticky(true); 

    // add action items into QuickAction 
    quickAction.addActionItem(nextItem); 
    quickAction.addActionItem(prevItem); 
    quickAction.addActionItem(searchItem); 
    // Set listener for action item clicked 
    final int position1 = view.getPositionForView(view1); 

    quickAction 
      .setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() { 
       @Override 
       public void onItemClick(QuickAction source, int pos, 
         int actionId) { 
        ActionItem actionItem = quickAction.getActionItem(pos); 

        if (actionId == ID_SEARCH) { 
      Intent i=new Intent(ExampleActivity.this,Second.class); 
         i.putExtra("position",position1); 
         Log.v("position","po" +position1); 
         startActivity(i); 

        } else if (actionId == ID_INFO) { 
         Toast.makeText(getApplicationContext(), 
           "I have no info this time", 
           Toast.LENGTH_SHORT).show(); 

        } else { 
         Toast.makeText(getApplicationContext(), 
           actionItem.getTitle() + " selected", 
           Toast.LENGTH_SHORT).show(); 
        } 
       } 
      }); 

    quickAction.show(view1); 

} 

}

而我的另一項活動

公共類二擴展活動{

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main2); 
    EditText d1=(EditText) findViewById(R.id.editText1); 
    Bundle bundle = getIntent().getExtras(); 
    if (bundle != null) { 
     final int position = (Integer) bundle.get("position"); 
     Log.v("position","po1 " +position); 
     ArrayList<Weather> array = new ArrayList<Weather>(); 
     Log.v("position","po1 " +array); 

    } 
} 

}

接觸適配器:

公共類ContactsAdapter擴展ArrayAdapter {

Context context; 
    int layoutResourceId;  
    Weather data[] = null; 
    public ContactsAdapter(Context context, int layoutResourceId, Weather[] data) { 
     super(context, layoutResourceId, data); 
     this.layoutResourceId = layoutResourceId; 
     this.context = context; 
     this.data = data; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View row = convertView; 
     WeatherHolder holder = null; 

     if(row == null) 
     { 
      LayoutInflater inflater = ((Activity)context).getLayoutInflater(); 
      row = inflater.inflate(layoutResourceId, parent, false); 

      holder = new WeatherHolder(); 
      holder.imgIcon = (ImageView)row.findViewById(R.id.imageView1); 
      holder.imgIcon.findViewById(R.id.imageView1).setOnClickListener(mBuyButtonClickListener); 
      holder.txtTitle = (TextView)row.findViewById(R.id.textView1); 
      //((ImageView) row.findViewById(R.id.im)).setOnClickListener(mBuyButtonClickListener); 
      row.setTag(holder); 
     } 
     else 
     { 
      holder = (WeatherHolder)row.getTag(); 
     } 

     Weather weather = data[position]; 
     holder.txtTitle.setText(weather.title); 
     holder.imgIcon.setImageResource(weather.icon); 
     return row; 
    } 

    static class WeatherHolder 
    { 
     ImageView imgIcon; 
     TextView txtTitle; 
    } 
    private OnClickListener mBuyButtonClickListener = new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      ((ExampleActivity) context).functiontorun(v); 
     } 
    }; 

} 
+0

你有 – 2013-03-21 07:39:57

+0

現在笏問題我爲無法從列表視圖字符串傳遞給另一個(EditText上)活動quickAction中的一個操作項目。 – Hema 2013-03-22 07:17:56

+0

您無法獲取日誌中的值 – 2013-03-22 07:24:41

回答

0
private OnClickListener mBuyButtonClickListener = new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
      WeatherHolder holder = (WeatherHolder) v.getTag; 
      String string = holder.txtTitle .getText(); 

     ((ExampleActivity) context).functiontorun(string); 
    } 
}; 

只是字符串傳遞給您的活動,當我點擊改變functiontorun的參數作爲字符串

相關問題