findViewById 的偷懒方案,这函数名,哈哈。除了注解和在线生成,多了种偷懒方式

在微博中发现的偷懒方案,好简单。。

//结果与(...)findViewById(R.id....)一模一样,采用$作为方法名称,借鉴自jQuery
	public <T extends View> T $(int id) {
		return (T)super.findViewById(id);
	}

用法

private EditText editor;
editor = $(R.id.p_name);
editor.setText("Hello World!");


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然可以!以下是对代码中关键部分的注解: ```java import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class MainActivity extends AppCompatActivity { private EditText cityEditText; // 输入城市名称的文本框 private Button getWeatherButton; // 获取天气按钮 private TextView weatherTextView; // 显示天气信息的文本视图 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cityEditText = findViewById(R.id.cityEditText); getWeatherButton = findViewById(R.id.getWeatherButton); weatherTextView = findViewById(R.id.weatherTextView); getWeatherButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String city = cityEditText.getText().toString(); // 获取输入的城市名称 if (!city.isEmpty()) { // 如果城市名称不为空 String url = "http://api.openweathermap.org/data/2.5/weather?q=" + city + "&appid=YOUR_API_KEY"; // 构建 OpenWeatherMap API 请求的 URL new GetWeatherTask().execute(url); // 异步执行获取天气信息的任务 } } }); } private class GetWeatherTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... params) { String result = ""; try { URL url = new URL(params[0]); // 从参数中获取 OpenWeatherMap API 请求的 URL HttpURLConnection connection = (HttpURLConnection) url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuilder response = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { response.append(line); // 将 API 响应的每一行添加到 StringBuilder 中 } reader.close(); result = response.toString(); // 将 StringBuilder 转换为字符串,即 API 响应的内容 } catch (Exception e) { e.printStackTrace(); } return result; // 返回 API 响应的内容 } @Override protected void onPostExecute(String result) { super.onPostExecute(result); try { JSONObject jsonObject = new JSONObject(result); // 将 API 响应的字符串转换为 JSON 对象 JSONObject main = jsonObject.getJSONObject("main"); // 获取 JSON 中的 "main" 对象 double temp = main.getDouble("temp"); // 从 "main" 对象中获取温度信息 int humidity = main.getInt("humidity"); // 从 "main" 对象中获取湿度信息 weatherTextView.setText("Temperature: " + temp + "°C\nHumidity: " + humidity + "%"); // 在界面上显示温度和湿度信息 } catch (JSONException e) { e.printStackTrace(); } } } } ``` 希望这些注解能够帮助你更好地理解代码!如果有任何疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值