gpt4 book ai didi

java - 使用 recyclerView 项目的一些 `put extra` onClick 返回到上一个 Activity

转载 作者:行者123 更新时间:2023-11-30 02:13:21 25 4
gpt4 key购买 nike

我想在点击 Recycler View 中的 Item 时传递数据先前的 Activity ,并将其显示在编辑文本上。

这是我用来将数据从 ListView 传递到上一个 Activity 的代码

我想用 Recyclerview 做同样的事情

//调用第二个 Activity

public static final int REQUEST_CODE = 100;
Intent dateintent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(dateintent, REQUEST_CODE);

//listview的onClick将数据传回之前的activity

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView txt = (TextView) view.findViewById(R.id.textView);
String str = txt.getText().toString();

Intent intent = new Intent();
intent.putExtra("data",str);
setResult(RESULT_OK,intent);
finish();

}

});

//获取数据后在第一个activity编辑框中显示数据

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_OK) {
String data= data.getStringExtra("data");
if (data!= null) {
edittext.setText(data);
}
}
}

最佳答案

首先创建这个接口(interface)

public interface RunnableValue {

public void run(Object obj);
}

2.这个MainActivity添加

 RunnableValue run=new RunnableValue() {
@Override
public Bundle run(Object obj) {

String str = obj.toString();

Intent intent = new Intent();
intent.putExtra("data",str);
setResult(RESULT_OK,intent);
finish();
}
};
mAdapter = new SearchAdapter(dataSet,run);
  1. 这个 RecyclerView 适配器

    public SearchAdapter(List<String>  dataSet,RunnableValue runnableValue) {
    mDataSet = dataSet;
    this.runnableValue=runnableValue;
    }
    public static class SearchHolder extends RecyclerView.ViewHolder {
    private final TextView textView;

    public SearchHolder(View v) {
    super(v);

    v.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

    runnableValue.run(getTextView().toString());
    }
    });
    textView = (TextView) v.findViewById(R.id.txtSearchItem);
    }

    public TextView getTextView() {
    return textView;
    }

关于java - 使用 recyclerView 项目的一些 `put extra` onClick 返回到上一个 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29795760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com