انجمن سایت کلیدستان



افزودن جستجو به برنامه اندرویدزمان کنونی: ۱۳۹۵/۰۹/۱۷، ۰۱:۰۶ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: mobailegsm
آخرین ارسال: jjcomg6
پاسخ 6
بازدید 3394

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
افزودن جستجو به برنامه اندروید

افزودن جستجو به برنامه اندروید

#1
سلام.

من در بخش افزودن جستجو به مباحث نرم افزار با یک مشکل برخوردم.شما پیش وند مبحث را  subject در نظر گرفته اید که به ترتیب شماره تا عدد 3 تعریف کرده اید  که در جاوای اکتیو شما این گونه تعریف کرده اید

{{{       adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.subject_name, products);
        lv.setAdapter(adapter);                 }}}}.

حالابرای اکتیو های با نامهای مختلف که کلا با هم تفاوت میکنند مثلا= ( mobaile / kelidestan / download) چگونه باید عمل کنیم؟

ممنون میشم که کمکم کنید ممنون 

با ارزوی سلامتی رهبر معظم انقلاب اسلامیه ایران
پاسخ
 سپاس شده توسط admin

افزودن جستجو به برنامه اندروید

#2
سلام دوست عزیز.
بهترین راه این است که نام های Activity ها را در یک لیست آرایه ای (ArrayList) از جنس رشته (string) تعریف کنید. در همان کدی که من ارائه کرده بودم (http://www.kelidestan.com/keys/keys.php?key=251)، بر اساس عدد، به Activity ها اشاره می کردیم (یعنی عدد را در پسوند نام قرار می دادیم و نام Activity ساخته می شد)، اکنون شما بر اساس عدد، باید نام Activity را از این لیست آرایه ای (ArrayList) که ساخته اید، فراخوانی کنید (مثلا عنصر 12 ام از آرایه را فراخوانی می کنید تا نام Activity به دست آید).
برای ساخت لیست آرایه ای (ArrayList)، کلید زیر را بخوانید :

http://www.kelidestan.com/keys/keys.php?key=314

و در کل، برای کار با لیست آرایه ای (ArrayList)، دسته بندی زیر را ببینید :

http://www.kelidestan.com/keys/categorie...ategory=22

البته برای برنامه های اندروید آموزشی با تعداد مبحث زیاد، توصیه می شود که برنامه اندروید به صورت ((محتوا محور)) ساخته شود، در این مورد هم می توانید نگاهی به دو کلید زیر بیندازید :

http://www.kelidestan.com/keys/keys.php?key=2253

http://www.kelidestan.com/keys/keys.php?key=2259

خواندن دو کلید فوق، شما را با سختارهای دیگر برنامه نویسی اندروید آشنا می کند.
البته بستگی به نوع برنامه اندروید دارد و اینکه خود برنامه نویس، کدام را ترجیح بدهد.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

افزودن جستجو به برنامه اندروید

#3
سلام.
یعنی من در هر اکتیویتی جاوا یک لیست آرایه ای (ArrayList) از جنس رشته (string) تعریف کنم. مثلا به اکتیویتی download در لیست آرایه ای یک عدد تخصیص بدم مثلا 12 بعد در قسمت اکتیویتی سرچ اون این گونه عمل کنم ( Activity-name) که به جای نام عدد مورد نظر قرار داده میشود. درسته؟
پاسخ

افزودن جستجو به برنامه اندروید

#4
نیازی نیست که شما در Activity های مربوط به مباحث، کدی بنویسید، بلکه تنها باید کدها را در Activity مربوط به جستجو بنویسید. بنابراین لیست آرایه ای (ArrayList) باید در Activity مربوط به جستجو تعریف شود. شما با داشتن لیست نام های Activity ها ، آنها را در لیست آرایه ای (ArrayList) قرار می دهید. ما در ListView ، عدد item را داریم که متناسب با آن، نام یک Activity را از لیست آرایه ای (ArrayList) دریافت کرده و سپس بر اساس نام آن، کاربر را به آن Activity هدایت می کنیم (هنگامی که کاربر بر روی item اشاره می کند).

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

افزودن جستجو به برنامه اندروید

#5
Smile 
کد:
package ir.amozeshmobaile.mobailegsm;

import java.util.ArrayList;
import java.util.HashMap;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

public class Searchbook<Search, inputSearch> extends Activity {




ArrayList<String> amozeshelectronic = new ArrayList<String>(7);{
for (int i = 0; i < 7; i++) {
amozeshelectronic.add("");
}
amozeshelectronic.set(0, "newString");}




ArrayList<String> code = new ArrayList<String>(7);{
for (int i = 0; i < 7; i++) {
code.add("");
}
code.set(1, "newString");}




ArrayList<String> ghateha = new ArrayList<String>(7);{
for (int i = 0; i < 7; i++) {
ghateha.add("");
}
ghateha.set(2, "newString");}



ArrayList<String> mohkabrat2 = new ArrayList<String>(7);{
for (int i = 0; i < 7; i++) {
mohkabrat2.add("");
}
mohkabrat2.set(3, "newString");}



ArrayList<String> narmeafzarema = new ArrayList<String>(7);{
for (int i = 0; i < 7; i++) {
narmeafzarema.add("");
}
narmeafzarema.set(4, "newString");}






ArrayList<String> shenakht = new ArrayList<String>(7);{
for (int i = 0; i < 7; i++) {
shenakht.add("");
}
shenakht.set(5, "newString");}


ArrayList<String> tamirat = new ArrayList<String>(7);{
for (int i = 0; i < 7; i++) {
tamirat.add("");
}
tamirat.set(6, "newString");}





// List view
private ListView lv;

// Listview Adapter
ArrayAdapter<String> adapter;

// Search EditText
EditText inputSearch;





// ArrayList for Listview
ArrayList<HashMap<String, String>> productList;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_searchbook);

// Listview Data
String products[] = getResources().getStringArray(R.array.search);

lv = (ListView) findViewById(R.id.list_view);
inputSearch = (EditText) findViewById(R.id.inputSearch);

// Adding items to listview

adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.subject_name, products);
lv.setAdapter(adapter);

/**
* Enabling Search Filter
* */
inputSearch.addTextChangedListener(new TextWatcher() {

@SuppressWarnings("unused")
public void onTextChanged(CharSequence cs, int arg0, int arg1, int arg2 , int arg3 , int arg4 , int arg5 , int arg6 , int arg7 ) {
// When user changed the Text
Searchbook.this.adapter.getFilter().filter(cs); 
}

@SuppressWarnings("unused")
public void beforeTextChanged(CharSequence arg0, int arg01, int arg1, int arg2 , int arg3 , int arg4 , int arg5 , int arg6 , int arg7 ) {
// TODO Auto-generated method stub

}

@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub 
}

@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub

}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub

}
});

// after click
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, final View view,
int position, long id) {

final String item = lv.getItemAtPosition(position).toString();
int total_number = 7;
for(int x = 1; x < total_number+1; x = x+1) {
String SubjectName = "subject_" + String.valueOf(x);
int resID = getResources().getIdentifier(SubjectName, "string", getPackageName());
String subject = getResources().getString(resID);

if(item.equals(subject)) {
String StringClass = "ir.amozeshmobaile.mobailegsm.subject_name" + String.valueOf(x);
Class<?> c = null;
if(StringClass != null) {
try {
c = Class.forName(StringClass);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Intent intent = new Intent(Searchbook.this, c);
startActivity(intent);
}
}

}

});
}

@Override
public void onResume() {
super.onResume();
adapter.notifyDataSetChanged();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.inputSearch:
startActivity(new Intent(Searchbook.this, Searchbook.class));
return true;
default: 
return true;

}



[size=11px]من 7 اکتیو دارم که مطالب اموزشیم درشون نوشته شده.من با توجه به توضیحاتتان این گونه عمل کردم .اما دوتا مشکل دارم.[/size]

[size=11px]1: عکس ذربین در تمامیه اکتیو ها قرار داره اما با کلیک بر روی ان به صفحه ای اکتیو سرچ نمیره اصلا هیچ عکسعملی نداره.[/size]
[size=11px]2:وقتی که در صفحه ای سرچ بر روی یکی از گذینه های که قرار دادم کلیک میکنم خطا میده و به صفحه ای اصلی برمیگرده [/size]

[size=11px]این کدهای جاوا اکتیوسرچم است که اسمش رو [/size][size=11px]Searchbook[/size][size=11px]  گذاشتم [/size]
[size=11px]حالا من باید چکار کنم؟[/size]




 
پاسخ

افزودن جستجو به برنامه اندروید

#6
سلام شما تو اموزش هفتا مبحثی که داشتید با لیست ویو درست کردید من اسکرول ویو درست کردم مباحثمو.الان من باید چی کار کنم

 
پاسخ


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)