saeed1366412

توسعه دهنده اندروید
  • تعداد ارسال ها

    37
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در انجمن

1 Neutral

درباره saeed1366412

  • درجه
    Advanced Member
  1. با سلام میخواستم بدون داخل صفحه xml چطوری اعداد به صورت توان دار داخل textview بنویسم
  2. سلام من یه برنامه دارم میسازم که یه سری عکس از سرور دانلود میشه و در مسیر /data/data/pachagename/image/ ذخیره میشه بعد میخوام به وسیله عکسارو به وسیله این کد نمایش بدم int imageResId = context.getResources().getIdentifier( resName, "drawable", context.getPackageName()); imgView.setImageResource(imageResId); اما نمیدونم به جای drawable چی بنویسم لطفا راهنمایی کنید
  3. جواب نداد همه رو صفر برمیگردونه
  4. اساتید کسی هست بتونه کمک کنه
  5. با سلام مرسی از راهنمایی که کردید string ها از json خوانده می شوند ولی یک سری از آنها تکراری میباشند چطوری در لیست ویو درج نشوند کدها public class MainActivity extends Activity { ListView lstContactsInfo; ArrayList<Flower> flowerList = new ArrayList<>(); private ArrayAdapter<Flower> adapter; private List<Flower> filteredContacts; EditText edt; public String search = ""; private static final String KEY_NAME = "word1"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edt=(EditText)findViewById(R.id.editText); lstContactsInfo = (ListView)findViewById(R.id.lstContactsInfo); flowerList = new ArrayList<Flower>(); InputStream instream = getResources().openRawResource(R.raw.flowers); final String jsonstring = inputStramToString(instream); final FlowerJsonParser parser = new FlowerJsonParser(); edt.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { search = edt.getText().toString(); flowerList= parseJson(jsonstring); filteredContacts=new ArrayList<>(); for (int i = 0; i < flowerList.size(); i++){ String firstName=flowerList.get(i).getName(); if (firstName.contains(edt.getText().toString())){ filteredContacts.add(flowerList.get(i)); } } refreshDisplay(); } @Override public void afterTextChanged(Editable s) { } }); } public ArrayList<Flower> parseJson(String jsonstring){ ArrayList<Flower> flowers = new ArrayList<Flower>(); try { JSONArray jsonarray = new JSONArray(jsonstring); for (int i = 0; i < jsonarray.length(); i++) { JSONObject jsonobject = jsonarray.getJSONObject(i); Flower flower = new Flower(); flower.setName(jsonobject.getString(KEY_NAME)); flowers.add(flower); } return flowers; } catch (JSONException e) { e.printStackTrace(); } return null; } private String inputStramToString(InputStream inputstream){ BufferedReader reader = new BufferedReader(new InputStreamReader(inputstream)); StringBuilder sb = new StringBuilder(); String line = null; try { while((line = reader.readLine()) != null){ sb.append(line); } } catch (IOException e) { e.printStackTrace(); } return sb.toString(); } private void refreshDisplay() { adapter = new StoryListAdapter(this, R.layout.list, filteredContacts); lstContactsInfo.setAdapter(adapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public class StoryListAdapter extends ArrayAdapter<Flower>{ private int totalPages = 0; private int currentPageNo = 0; //private StoryDataSource datasource; private Flower story; private Context context; List<Flower> flowerList; private int resourceId; private List<Flower> stories; public StoryListAdapter(Context context, int resourceId, List<Flower> flowerList) { super(context, resourceId, flowerList); this.context = context; this.resourceId = resourceId; this.flowerList = flowerList; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(resourceId, parent, false); final Flower item = flowerList.get(position); TextView txt_name = (TextView) view.findViewById(R.id.textView); String name = item.getName().toLowerCase(Locale.getDefault()); txt_name.setText(item.getName()); if (name.contains(search)) { int startPos = name.indexOf(search); int endPos = startPos + search.length(); Spannable spanString = Spannable.Factory.getInstance().newSpannable(txt_name.getText()); spanString.setSpan(new ForegroundColorSpan(Color.BLUE), startPos, endPos, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // red color of matching text txt_name.setText(spanString); } return view; } } }
  6. با سلام من یک مجموع String دارم که به صورت لیست در listview نمایش میدم میخوام stringهای شبیه به هم نمایش داده نشود مثل زمانی که در sqlite دستور group by نوشته میشود انجام دهم از چه روشی استفاده کنم با تشکر
  7. با سلام من یه برنامه مشاهده کردم که از دیتابیس اماده sqlite استفاده کرده بود ولی دیتابیس بدون اینکه کپی بشه برنامه کار میکنه میخواستم بدونم از چه روشی استفاده شده اگه میشه کدی یا لینک آموزشی هست ارسال کنه
  8. سلام من یه قسمت جستجو دارم میخوام progress dialog درصورت تاخیر زمان جستجو داشته باشهshow و dismis کجا قرار بدم public class Search extends AppCompatActivity { EditText et; private StoryDataSource datasource; private List<Story> stories; private List<StoryFav> stories1; private ListView listView; private ArrayAdapter<Story> adapter; public String search=""; private ProgressDialog progress; Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search); et = (EditText) findViewById(R.id.search); listView = (ListView) findViewById(R.id.storyListView); btn=(Button)findViewById(R.id.button3); datasource = new StoryDataSource(getBaseContext()); stories1=datasource.getAllStories(); if (stories1.size()==0){ datasource.copyDbFile(); } btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { progress=new ProgressDialog(Search.this); progress.setMessage("صبور باشید"); progress.setProgressStyle(ProgressDialog.STYLE_SPINNER); progress.setIndeterminate(true); progress.setProgress(0); progress.show(); stories = datasource.getAllsearch(et.getText().toString()); progress.dismiss(); refreshDisplay(); } }); } private void refreshDisplay() { adapter = new StoryListAdapter(this, R.layout.story_list_item, stories); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Story story = stories.get(position); Intent intent = new Intent(Search.this, Word.class); intent.putExtra(".db", story); startActivity(intent); } }); }
  9. مرسی از راهنمایتون ولی فکر نمیکنم برای هایلایت جستجو نیازی به این کار نباشه notifyDataChanged در اداپتور استفاده میشه ولی من کداشو نمیدونم چطور ایجاد کنم برای زمانی که با cursor استفاده میشه یه همچین شکلی منظورم هست http://dharmikpatel.online/android-tutorials/recyclerview-searchview-toolbar/
  10. اساتید یه اداپتور هایلایت که با cursor کار کنه معرفی کنید
  11. اساتید کسی میتونه کمکم کنه
  12. بنظرم باید از notifyDataChanged استفاده کنم ولی جا گذاری و کداشو نمیدونم چطور استفاده کنم ممنون میشم راهنمایی کنید
  13. سلام مرسی از راهنمایتون ولی من نمیخوام تمام متنم تغییر رنگ بده فقط کلمه جستجو شده
  14. سلام من یک دیتابیس دارم که با cursor جستجو رو انجام میدم میخوام کلمه جستجو شده رنگی باشه از چه کدی استفاده کنم و کجا ها رو تغییر بدم به راهنمایی کامل احتیاج دارم public class Search extends AppCompatActivity { android.widget.SearchView et; private StoryDataSource datasource; private List<Story> stories; private List<StoryFav> stories1; private ListView listView; private ArrayAdapter<Story> adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search); et = (android.widget.SearchView) findViewById(R.id.search); listView = (ListView) findViewById(R.id.storyListView); datasource = new StoryDataSource(getBaseContext()); stories1=datasource.getAllStories(); if (stories1.size()==0){ datasource.copyDbFile(); } et.setOnQueryTextListener(new android.widget.SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String newText) { if (newText.length() ==0){ stories = datasource.getAllsearch("#@"); }else { stories = datasource.getAllsearch(newText); } refreshDisplay(); return false; } }); } private void refreshDisplay() { adapter = new SearchListAdapter(this, R.layout.story_list_item, stories); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Story story = stories.get(position); Intent intent = new Intent(Search.this, Word.class); intent.putExtra(".db", story); startActivity(intent); } }); } public class SearchListAdapter extends ArrayAdapter<Story>{ private int totalPages = 0; private int currentPageNo = 0; private StoryDataSource datasource; private Story story; private Context context; private int resourceId; private List<Story> stories; public SearchListAdapter(Context context, int resourceId, List<Story> stories) { super(context, resourceId, stories); this.context = context; this.resourceId = resourceId; this.stories = stories; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(resourceId, parent, false); final Story item = stories.get(position); TextView txt_name = (TextView) view.findViewById(R.id.txt_name_listitem); txt_name.setText(item.getName()); return view; } } }
  15. مشکل برطرف کردم داخل قسمت project structure ایراد داشت