我通过从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);
}
}
您的回答更受赞赏......
答案 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();