我在Android的新的,试图通过一个适配器去到下一个活动,我使用onBindViewHolder()
同一个Intent
,下面是代码:
@Override
public void onBindViewHolder(CurrencyViewHolder holder, int position) {
final BureauRateObject br = itemList.get(position);
holder.bureauname.setText(br.getBureau_name());
holder.rates.setText(br.getBuysell());
final String BureauId = br.getBureau_id();
final String BureauName = br.getBureau_name();
holder.root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(context, SingleForexActivity.class);
// i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("bureau_id", BureauId);
i.putExtra("bureau_name",BureauName);
context.startActivity(i);
}
});
}
这是随之而来的错误:
android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
at android.app.ContextImpl.startActivity(ContextImpl.java:677)
at android.app.ContextImpl.startActivity(ContextImpl.java:664)
at android.content.ContextWrapper.startActivity(ContextWrapper.java:331)
at Adapters.CurrencySelectorAdapter$1.onClick(CurrencySelectorAdapter.java:64)
at android.view.View.performClick(View.java:5265)
at android.view.View$PerformClick.run(View.java:21534)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5728)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
我尝试了此解决方案,但“下一个活动”不会返回到上一个活动。
我的解决方案:(但是没有用)
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
以下是完整的适配器代码:
package Adapters;
import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import com.example.naavanito.eamobileforex2.R;
import com.example.naavanito.eamobileforex2.SingleForexActivity;
import java.util.Currency;
import java.util.List;
import Holders.CurrencyViewHolder;
import model.BureauRateObject;
/**
* Created by Admin on 1/21/2017.
*/
public class CurrencySelectorAdapter extends RecyclerView.Adapter<CurrencyViewHolder> {
private List<BureauRateObject> itemList;
private Context context;
public CurrencySelectorAdapter(List<BureauRateObject> itemList, Context context) {
this.itemList = itemList;
this.context = context;
}
@Override
public CurrencyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View layoutview = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_currency_rate,parent,false);
CurrencyViewHolder rcv = new CurrencyViewHolder(layoutview,context);
return rcv;
}
@Override
public void onBindViewHolder(CurrencyViewHolder holder, int position) {
final BureauRateObject br = itemList.get(position);
holder.bureauname.setText(br.getBureau_name());
holder.rates.setText(br.getBuysell());
final String BureauId = br.getBureau_id();
final String BureauName = br.getBureau_name();
holder.root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(context, SingleForexActivity.class);
// i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("bureau_id", BureauId);
i.putExtra("bureau_name",BureauName);
context.startActivity(i);
}
});
}
@Override
public int getItemCount() {
return itemList.size();
}
}
在Context
你传递到CurrencySelectorAdapter
构造函数应该是Activity
万军此RecyclerView
。然后,您将不会收到此错误。
我在listview中创建了多个布局,但是当我单击时,我得到了一个Android RuntimeExc0019”从活动上下文外部调用starActive()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是你想要的吗?" 我在补充 意图。FLAG_ACTIVITY_NEW_TASK 我的意图,但我得到同样的信息!=(
Logcat按摩 **从活动上下文外部调用startActivity()需要标志_Activity_NEW_TASK标志。这真的是你想要的吗?
我已经创建了一个摄像头活动,可以从前后摄像头拍摄照片。但我一直在犯上述错误,有人能帮我吗 似乎我做了一些错误在Menifeste文件中调用意图,但无法弄清楚我在做什么错误。 这是我的摄影活动。JAVA
我想从服务类中通过期权打开股票。它在Android7中运行良好,但在8操作系统中开始显示 android.util.AndroidRuntimeExcture:从活动上下文外部调用starActive()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是你想要的吗? 我也将此标志包含到我的意图中,但它仍然显示相同的错误。 有没有其他方式可以通过期权从服务类中公开股票?
我收到错误。完整堆栈跟踪: 我是Android开发新手,不知道如何解决它。 我的代码: 有什么想法吗?
我已经实现了android daydream服务,在其中我播放了一段来自asserts的视频,我在那里放了一个按钮,点击listener我想打开一个带有链接的webview,一切正常,但我无法处理webview,因为当我点击按钮时,这个消息就会出现 不幸的是,应用程序已停止 日志中出现的错误消息是 AndroidRuntime(827):致命的例外:android。util。AndroidRunt