android - 如何从 fragment 发送字符串到类,以更改kotlin中的Json API?

标签 android json kotlin

当我单击按钮时,我想更改服务中的链接,但这不起作用

我如何从片段发送字符串到类以更改Json API?

这是我的界面

    interface NewsAPI {
    @GET
    fun getNews(@Url url:String):Single<API>
}

这是我的服务
class NewsAPIService {

    private val BASE_URL = "xxxxxxxxxx"
    private val api = Retrofit.Builder().baseUrl(BASE_URL)
        .addConverterFactory(GsonConverterFactory.create())
        .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
        .build()
        .create(NewsAPI::class.java)



    fun getData():Single<API>{
        return api.getNews(CountrySelectFragment().countrCode1)
    }
}

这是我的片段
class CountrySelectFragment : Fragment() {
 var countrCode1 = ""

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

}

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_country_select, container, false)
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    buttontr.setOnClickListener {
        countrCode1 = "trLink"
    }

    buttonar.setOnClickListener {
        countrCode1 = "arLink"

    }

    buttonuk.setOnClickListener {
        countrCode1 = "ukLink"
                }

    buttonus.setOnClickListener {
        countrCode1 = "usaLink"
    }
    buttonfr.setOnClickListener {
       countrCode1 = "frLink"
    }


}

}

我该怎么办?

最佳答案

您是否尝试过为所有Button设置OnClick功能?
如果不尝试这个:

 override fun OnClick(view: View){

     when (view.id){ 
       R.id.buttontr-> return "trlink"
       R.id.button-> return "arlink"
       // the rest is the same
 }
}

关于android - 如何从 fragment 发送字符串到类,以更改kotlin中的Json API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61157038/

相关文章:

java - 我无法向 Android 谷歌地图添加多于一条线(覆盖)?

android - 如何在 Appium android 中处理搜索、输入等软键

javascript - IE10 - 如何在网络开发工具的响应体中显示json格式

kotlin - 重载分辨率含糊不清...

java - 获取 RxJava2 中 observable 发出的最后 N 个对象

android - 无法在 Android Studio 中解析符号 HttpGet、HttpClient、DefaultHttpClient

android - 如何从模板更新 Android 项目?

java - Android - 从 JSON 字符串转换为 Java 对象

java - JSONObject 累加​​并把这个 "[]"字符串转换为数组

java - Kotlin 中的 Java 静态方法等价物是什么?