我使用Xamarin为Android编写应用程序。
我在Activity for OnCreate方法中有这段代码。
protected override int LayoutResource
{
get { return Resource.Layout.Main; }
}
private RecyclerView recyclerView;
private ProgressBar activityIndicator;
private RecyclerView.LayoutManager layoutManager;
protected override async void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
recyclerView = FindViewById<RecyclerView>(Resource.Id.recyclerView);
activityIndicator = FindViewById<ProgressBar>(Resource.Id.activityIndicator);
activityIndicator.Visibility = Android.Views.ViewStates.Visible;
layoutManager = new LinearLayoutManager(this, LinearLayoutManager.Vertical, false);
recyclerView.SetLayoutManager(layoutManager);
var repository = new TestAppRepository();
var films = await repository.GetAllFilms();
var formsAdapter = new FormAdapter(films.results);
recyclerView.SetAdapter(formsAdapter);
activityIndicator.Visibility = Android.Views.ViewStates.Gone;
SupportActionBar.SetDisplayHomeAsUpEnabled(false);
SupportActionBar.SetHomeButtonEnabled(false);
我在工具栏中有按钮,点击此按钮时需要刷新Recycler。
这是调用它来显示
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.home, menu);
return base.OnCreateOptionsMenu(menu);
}
我如何编写代码来刷新Recycler?
感谢帮助
答案 0 :(得分:0)
使用按钮的setOnClickListener
方法,并在名为RecyclerView适配器的onClick
方法中实现new OnClickListener
onClick
方法notifydatasetchanged()
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate {
var disp:[String] = []
var arrValues:[String] = ["Delhi", "Noida", "Gurugram", "Bangluru", "Nasik", "Mumbai", "Kolkata"]
@IBOutlet weak var text1: UITextField!
@IBOutlet weak var textView: UITextView!
@IBOutlet weak var display: UILabel!
@IBOutlet weak var tableView: UITableView!
@IBAction func show(_ sender: Any) {
var txt = text1.text
let fValue = txt?.index(after: (txt?.characters.index(of: "@"))!)
let prnt = txt?[fValue!]
let chnge = String(prnt!)
display.text = chnge
}
override func viewDidLoad() { super.viewDidLoad()
tableView.isHidden = true
if text1.isEnabled {
if ((otherString?.range(of: "@")) != nil) {
tableView.isHidden = false
}
}
//else{ tableView.isHidden = false}
let anotherArr = Array(fetch!.characters)
for chartr in anotherArr {
if chartr == "@"{
tableView.isHidden = false
}
}
self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.arrValues.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:UITableViewCell = self.tableView.dequeueReusableCell(withIdentifier: "Cell")! as UITableViewCell
cell.textLabel?.text = self.arrValues[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
}
<Route name="Products" path="Products/:categoryParam(?:helperParams)" component={ProductListing} />
1}}