بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

بدون عنوان

مدیریت گفتگو
YMSA 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان

میخواستم یه فیلتر ایجاد کنم که مثلا وقتی که روی عنوان میلاد کلیک کردم در یک اکتیویتی دیگه عنوان هایی که با نام میلاد هست فقط باز بشه و ببینم (در یک لیست ویو)

سورس ها :

 public class Activity_Main extends Enhanced {

private ArrayAdapter adapter;


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


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView lstContent = (ListView) findViewById(R.id.lstContent);

adapter = new Adapter_main(G.tasks);
lstContent.setAdapter(adapter);

redData();
}

private void redData() {
String result = Webservice.readUrl("http://192.168.43.228/server/", null);
if (result != null) {
try {
G.tasks.clear();
JSONArray tasks = new JSONArray(result);
for (int i = 0; i < tasks.length(); i++) {
JSONObject Object = tasks.getJSONObject(i);
StructTask task = new StructTask();
task.id = Object.getLong("task_id");
task.title = Object.getString("task_title");
task.desc = Object.getString("task_desc");
task.done = Object.getInt("task_done") == 1 ? true : false;
task.vote = Object.getInt("task_vote");
task.sender = Object.getString("task_sender");
G.tasks.add(task);
}
}
catch (JSONException e) {
e.printStackTrace();

}
}
adapter.notifyDataSetChanged();
}


}
/*-------------------------------------------------------------------------------------------------*/
 ublic class Adapter_main extends ArrayAdapter<StructTask> {

public Adapter_main(ArrayList<StructTask> array) {
super(G.context, R.layout.adapter_notes, array);
}


private static class ViewHolder {

public ViewGroup layoutRoot;
public TextView txtTitle;


public ViewHolder(View view) {
txtTitle = (TextView) view.findViewById(R.id.txtTitle);
layoutRoot = (ViewGroup) view.findViewById(R.id.layoutRoot);

}


public void fill(final ArrayAdapter<StructTask> adapter, final StructTask item, final int position) {
txtTitle.setText(item.title);

layoutRoot.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
Intent intent = new Intent(G.currentActivity, Activity_t.class);
intent.putExtra("POSITION", position);
G.currentActivity.startActivity(intent);
}
});

if (item.done) {
txtTitle.setTextColor(Color.RED);
} else {
txtTitle.setTextColor(Color.WHITE);
}
}
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;

StructTask item = getItem(position);
if (convertView == null) {
convertView = G.inflater.inflate(R.layout.adapter_notes, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}

holder.fill(this, item, position);
return convertView;
}
}
/*-------------------------------------------------------------------------------------------------*/
 
public class Activity_t extends Enhanced {

private ArrayAdapter adapter;


@Override
protected void onResume() {
G.currentActivity = this;
super.onResume();
adapter.notifyDataSetChanged();
}


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
ListView lstContent = (ListView) findViewById(R.id.lstContent);

adapter = new Adapter_t(G.tasks);
lstContent.setAdapter(adapter);

redData();

}


private void redData() {
String result = Webservice.readUrl("http://192.168.43.228/server/", null);
if (result != null) {
try {
G.tasks.clear();
JSONArray tasks = new JSONArray(result);
for (int i = 0; i < tasks.length(); i++) {
JSONObject Object = tasks.getJSONObject(i);
StructTask task = new StructTask();
task.id = Object.getLong("task_id");
task.title = Object.getString("task_title");
task.desc = Object.getString("task_desc");
task.done = Object.getInt("task_done") == 1 ? true : false;
task.vote = Object.getInt("task_vote");
task.sender = Object.getString("task_sender");
G.tasks.add(task);
}
}
catch (JSONException e) {
e.printStackTrace();

}

}
adapter.notifyDataSetChanged();
}

}
/*-------------------------------------------------------------------------------------------------*/
 public class Adapter_t extends ArrayAdapter<StructTask> {

public Adapter_t(ArrayList<StructTask> array) {

super(G.context, R.layout.row_test, array);

}


private static class ViewHolder {

public TextView txtTitle;
public TextView txtvote;
public TextView txtDescription;


public ViewHolder(View view) {
txtTitle = (TextView) view.findViewById(R.id.txtTitle);
txtvote = (TextView) view.findViewById(R.id.txtvote);
txtDescription = (TextView) view.findViewById(R.id.txtDescription);

}


public void fill(final ArrayAdapter<StructTask> adapter, final StructTask item, final int position) {

txtTitle.setText(item.title);
txtvote.setText(item.sender);
txtDescription.setText(item.desc);

if (item.done) {
txtTitle.setTextColor(Color.RED);
} else {
txtTitle.setTextColor(Color.WHITE);
}
}
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;

StructTask item = getItem(position);
if (convertView == null) {
convertView = G.inflater.inflate(R.layout.row_test, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}

holder.fill(this, item, position);
return convertView;
}

}
/*-------------------------------------------------------------------------------------------------*/

سورس اکتیوتی بدون لیست ویو

 public class Edit extends Enhanced {

@Override
protected void onResume() {
G.currentActivity = this;
super.onResume();
}


public class Adapter_t extends Enhanced {

@Override
protected void onResume() {
G.currentActivity = this;
super.onResume();
}


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit);

final EditText edtTitle = (EditText) findViewById(R.id.edtTitle);
final EditText edtDescription = (EditText) findViewById(R.id.edtDescription);

Bundle extras = getIntent().getExtras();
int position = 0;
if (extras != null) {
position = extras.getInt("POSITION");
}

final StructTask note = G.tasks.get(position);
edtTitle.setText(note.title);
edtDescription.setText(note.desc);

}
}
}

نظرات

پاسخ‌ها 1

Criss 11 سال پیش

تمام دیتا هایی که درون متغیری که از نوع  ArrayList<StructNote> که آداپتر رو با اون ساختی رو باید چک کنی < و درون یک آرایه قرار بدی < نحوه گرفتن دیتا بصورت زیر هست < که باید بعد از چک کردن با عبارت مورد نظرتون درون یک آرایه جدید قرار بدید

for(int i = 0; i <G.tasks.size() - 1 ; i++){
String desc = G.tasks.get(i).desc;
String text = G.tasks.get(i).text;
}

 

 

نظرات

YMSA 11 سال پیش
دوست عزیز لطفا یکم بیشتر راهنمایی کنید . متوجه نشدم ممنون
moin 11 سال پیش
دوست من سلام در راستای عرائض دوستمون ، من نمیدونم شما تا چه حد مسلطی به پروژه نوت اما اگر من بودم روی متد OnClickListener کنترل layoutRoot می نوشتم شناسه این سطر خاص در یه متغیر عمومی که در کلاس G تعریف کرده بودم می ریختم و جایی که میخوام داده های مرتبط با این سطر خاص ( در مثال شما میلاد ) را بازیابی کنم ، ازش استفاده می کردم .
YMSA 11 سال پیش
ممنون ولی لطفا با نمونه کد راهنمایی کنید واقعا الان گیچ شدم ...
YMSA 11 سال پیش
یک راهنمایی کلی لطفا

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .