意图中的匿名错误

时间:2016-04-23 12:38:44

标签: android android-intent android-recyclerview

我通过从Raw读取文本(.txt)文件来填充Recyclerview项目 Folder.It填充得很好。有10个标题。

当我点击第一个标题时,相关数据通过Intent显示在Next Activity中(Intent有值)。

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

但是在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);
            }
        });

MainActivity:

    @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);
        }
}

您的回答更受赞赏......

1 个答案:

答案 0 :(得分:1)

试试

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();