android 获取弹窗的值,从弹出窗口调用的Activity 返回一个值_popupwindow_开发99编程知识库...
你應(yīng)該創(chuàng)建具有有限寬度和高度的透明 Activity,而不是彈出對(duì)話框。 這樣它就像對(duì)話框,然后你可以打開(kāi)另一個(gè) Activity 并使用 intent.putExtra() 傳遞值
通過(guò)這種方式,你還可以使用 startActivityForResult() 和 onActivityResult() 。public class PopupWindowActivity extends Activity {
PopupWindow popwindow;
Button btnpopupopener,btnOpenActicivt;
TextView tv_result;
final static int POPRESULTcode=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_popup_window);
btnpopupopener=(Button)findViewById(R.id.btnpopupopen);
btnpopupopener.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
LayoutInflater inflator= (LayoutInflater)PopupWindowActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout vi=(LinearLayout)inflator.inflate(R.layout.layout_popup_content, null);
btnOpenActicivt= (Button)vi.findViewById(R.id.btnOpenActivity);
tv_result=(TextView)vi.findViewById(R.id.tv_result);
popwindow = new PopupWindow(vi, LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
popwindow.setContentView(vi);
btnOpenActicivt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
Intent in= new Intent(PopupWindowActivity.this, SampleResultActivity.class);
startActivityForResult(in, POPRESULTcode);
}
});
popwindow.showAsDropDown(btnpopupopener);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
switch(resultCode){
case POPRESULTcode:
Log.i("Result"," Getting Message From Result Activity");
tv_result.setText(data.getExtras().getString("resultstring"));
popwindow.showAsDropDown(btnpopupopener);
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.popup_window, menu);
return true;
}
public class SampleResultActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample_result);
Intent in= new Intent(getApplicationContext(), PopupWindowActivity.class);
in.putExtra("resultstring","Sending Sample String as Data");
setResult(1, in);
finish();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.sample_result, menu);
return true;
}
}
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"/>
android:id="@+id/btnpopupopen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="24dp"
android:text="Open Popup"/>
popupWindow布局
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:id="@+id/btnOpenActivity"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go To next Activity Get Result back"/>
android:id="@+id/tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="View Result Here"
android:textAppearance="?android:attr/textAppearanceLarge"/>
總結(jié)
以上是生活随笔為你收集整理的android 获取弹窗的值,从弹出窗口调用的Activity 返回一个值_popupwindow_开发99编程知识库...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 荒野大镖客2小技巧
 - 下一篇: 荒野大镖客2有线上模式吗