[英]Activity Result on Activity and returning from fragment
我正在開發和應用程序,我需要將 int 數據從片段傳遞到另一個活動。 問題在於它返回 0 或 false。
首先,我開始 ActivityForResult 放置一個 Bundle。 然后我傳遞一個布爾值,它工作正常,但是當我嘗試將 int 從片段放入包中並返回到 onActivityResult 時,它返回 0 或 false。
有人可以幫忙嗎? 我也嘗試過 putExtras 但仍然是錯誤的
public void newcampeon(View view) {
Intent i = new Intent(getApplicationContext(), Campeones.class);
b = new Bundle();
Boolean vengodraft = true;
b.putBoolean("vengodraft",vengodraft);
i.putExtras(b);
startActivityForResult(i,01);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
int res = b.getInt("idcampeon");
aban1.setImageResource(res);
Toast.makeText(getApplicationContext(),String.valueOf(res),
Toast.LENGTH_SHORT).show();
}
------ Fragment on Another Acivity
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_top_lane, container, false);
b = getArguments();
if(b!=null){
Boolean vengodraft = b.getBoolean("vengodraft");
if(vengodraft==true){
final ImageView aatrox = v.findViewById(R.id.aatrox);
aatrox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id = aatrox.getId();
getActivity().setResult(Activity.RESULT_OK);
b.putInt("idcampeon",id);
getActivity().finish();
}
});
}
}
return v;
它應該返回 Img 的當前 id
最后我明白了它的錯誤。 它非常簡單。 我只是把語法正確地放在這里。 只需創建一個新的意圖並傳遞參數即可。
@Override
public void onClick(View v) {
String nombrecampeon = String.valueOf(aatrox.getTag());
Intent i = new Intent();
i.putExtra("nombrecampeon",nombrecampeon);
getActivity().setResult(Activity.RESULT_OK,i);
getActivity().finish();
}
});
在 ActivityResult 上
String uri = "@drawable/"+data.getExtras().getString("nombrecampeon");
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
Drawable res = getResources().getDrawable(imageResource);
aban1.setImageDrawable(res);
無論如何,謝謝大家的幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.