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