Android 意图中的匿名Bug

Android 意图中的匿名Bug,android,android-intent,android-recyclerview,Android,Android Intent,Android Recyclerview,我通过读取原始文件中的文本(.txt)文件来填充Recyclerview项 文件夹。它被填充为良好。有10个标题 当我单击第一个标题时,相关数据通过一个Intent(Intent有值)显示在下一个活动中 但当我单击除第一个标题外的任何RecycleServiceItem时,将打开下一个活动,但相应的数据不会传递给下一个活动 但是在Adapter类中,我可以在单击它时获得标题 甚至我也尝试过使用Listview,但没有任何效果 这是我的密码: 适配器文本OnClickListener: holde

我通过读取原始文件中的文本(.txt)文件来填充Recyclerview项 文件夹。它被填充为良好。有10个标题

当我单击第一个标题时,相关数据通过一个Intent(Intent有值)显示在下一个活动中

但当我单击除第一个标题外的任何RecycleServiceItem时,将打开下一个活动,但相应的数据不会传递给下一个活动

但是在Adapter类中,我可以在单击它时获得标题

甚至我也尝试过使用Listview,但没有任何效果

这是我的密码:

适配器文本OnClickListener:

holder.txtSong.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                TextView txtView = (TextView) view.findViewById(R.id.textView);
                String forecast = (String) txtView.getText();
                Log.e("Position", String.valueOf(position) );
                Log.e("Position..1",forecast);

                Intent i = new Intent(view.getContext(), MainActivity.class);
                i.putExtra(Intent.EXTRA_TEXT, forecast);
                view.getContext().startActivity(i);
            }
        });
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.song_list_item);
        context = this;

        pref = this.context.getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

        TextView textView = (TextView) findViewById(R.id.textView);
        Intent i = getIntent();
        String Song = i.getExtras().getString(Intent.EXTRA_TEXT);

        try {
            InputStream inputstream = getResources().getAssets().open(Song + ".txt");
            BufferedReader reader = new BufferedReader(new InputStreamReader(inputstream));

            String m = reader.toString();
            StringBuilder total = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                total.append(line);
            }
            m = total.toString();

            textView.setText(m);
            textView.setTextColor(Color.BLACK);

        } catch (IOException ex) {
            System.out.println("Error" + ex);
        }
}
main活动:

holder.txtSong.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                TextView txtView = (TextView) view.findViewById(R.id.textView);
                String forecast = (String) txtView.getText();
                Log.e("Position", String.valueOf(position) );
                Log.e("Position..1",forecast);

                Intent i = new Intent(view.getContext(), MainActivity.class);
                i.putExtra(Intent.EXTRA_TEXT, forecast);
                view.getContext().startActivity(i);
            }
        });
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.song_list_item);
        context = this;

        pref = this.context.getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

        TextView textView = (TextView) findViewById(R.id.textView);
        Intent i = getIntent();
        String Song = i.getExtras().getString(Intent.EXTRA_TEXT);

        try {
            InputStream inputstream = getResources().getAssets().open(Song + ".txt");
            BufferedReader reader = new BufferedReader(new InputStreamReader(inputstream));

            String m = reader.toString();
            StringBuilder total = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                total.append(line);
            }
            m = total.toString();

            textView.setText(m);
            textView.setTextColor(Color.BLACK);

        } catch (IOException ex) {
            System.out.println("Error" + ex);
        }
}
您的回答更受欢迎……

试试看

Intent intent=new Intent(view.getContext(), MainActivity.class);
intent.i.putExtra(Intent.EXTRA_TEXT, forecast);
接受

Intent i = getIntent();
String Song = i.getStringExtra(Intent.EXTRA_TEXT);

请尝试删除getExtras();使用
getStringExtra()

你能发布你的MainActivity类吗?试着用一些名字,比如
i.putExtra(“Title”,forecast)
stringsong=i.getExtras().getString(“Title”)好的..让我做。但是我和以前一样做了。但是在我的情况下没有任何效果。我将重试@MDok您确定在
Adapter
类中获得了该字符串吗?或者更改
stringforecast=txtView.getText().toString()我进入适配器类