بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
بدون عنوان
سلام دوستان
میخواستم یه فیلتر ایجاد کنم که مثلا وقتی که روی عنوان میلاد کلیک کردم در یک اکتیویتی دیگه عنوان هایی که با نام میلاد هست فقط باز بشه و ببینم (در یک لیست ویو)
سورس ها :
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
10 سال پیش
+1
0
تمام دیتا هایی که درون متغیری که از نوع 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;
}
دوست من سلام
در راستای عرائض دوستمون ، من نمیدونم شما تا چه حد مسلطی به پروژه نوت اما اگر من بودم روی متد OnClickListener کنترل layoutRoot می نوشتم شناسه این سطر خاص در یه متغیر عمومی که در کلاس G تعریف کرده بودم می ریختم و جایی که میخوام داده های مرتبط با این سطر خاص ( در مثال شما میلاد ) را بازیابی کنم ، ازش استفاده می کردم . (10 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .