В моем приложении Я получаю данные из синтаксического анализа, в котором некоторые строки содержат описание сотрудников, а некоторые нет. Я хочу, чтобы это произошло, если описание не доступно в Parse of One Items, то этот элемент списка нельзя нажать или выполнить функцию onItemClick
.Как включить конкретный просмотр списка Элемент просмотра списка элементов
Или можно нажать только те, у кого есть Description
, которые я получаю от Parse.
Я действительно понятия не имею, как достичь этого, эта вещь может быть возможной в Android.
Я выполнил всю другую работу, получая данные от разбора и показов в действии , но не имел идеи об этом. Любая помощь, пожалуйста,
мой весь код класса приведен ниже
public class FragmentActivity_DayFirst extends Fragment implements
OnItemClickListener {
Bitmap bmp;
ListView listview;
List<ParseObject> ob;
ProgressDialog mProgressDialog;
ArrayAdapter<String> adapter;
AgendaListAdapter adapter2;
Fragment fr;
FragmentManager fm;
FragmentTransaction fragmentTransaction;
private List<GetSet> agendaList = new ArrayList<GetSet>();
List<HashMap<String, String>> aList = new ArrayList<HashMap<String, String>>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_fragment__dayfirst,
container, false);
new RemoteDataTask().execute();
return view;
}
// RemoteDataTask AsyncTask
private class RemoteDataTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
// Create a progressdialog
mProgressDialog = new ProgressDialog(getActivity());
// Set progressdialog title
mProgressDialog.setTitle("Loading Details of 1st Day");
// Set progressdialog message
mProgressDialog
.setMessage("Wait.. It May Take a while depending on your Bandwidth");
mProgressDialog.setIndeterminate(false);
// Show progressdialog
mProgressDialog.show();
}
@Override
protected Void doInBackground(Void... params) {
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>(
"Agendas");
query.whereEqualTo("day", "August 7th, 2015");
query.orderByAscending("createdAt");
try {
ob = query.find();
if (ob != null) {
for (ParseObject agendas : ob) {
// ParseFile image = (ParseFile)
// complain.get("imageURL");
GetSet agendaGetSet = new GetSet();
agendaGetSet.setStartTime((String) agendas
.get("startTime"));
Log.v("post", (String) agendas.get("startTime"));
agendaGetSet
.setEndTime((String) agendas.get("endTime"));
Log.v("category", (String) agendas.get("endTime"));
agendaGetSet.setEventTitle((String) agendas
.get("description"));
Log.v("post", (String) agendas.get("description"));
agendaList.add(agendaGetSet);
}
} else {
Log.v("post", "No Results");
}
} catch (ParseException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
Log.v("post", "After query post");
listview = (ListView) getView().findViewById(R.id.firstlistview);
// Pass the results into ListViewAdapter.java
adapter2 = new AgendaListAdapter(getActivity(), agendaList);
// Binds the Adapter to the ListView
listview.setAdapter(adapter2);
// Close the progressdialog
mProgressDialog.dismiss();
// Item Click Listener for the listview
OnItemClickListener itemClickListener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View container,
int position, long id) {
// Getting the Container Layout of the ListView
LinearLayout linearLayoutParent = (LinearLayout) container;
// Getting the inner Linear Layout
LinearLayout linearLayoutChild = (LinearLayout) linearLayoutParent
.getChildAt(0);
// Getting the inner Linear Layout
RelativeLayout relativeLayoutChild = (RelativeLayout) linearLayoutParent
.getChildAt(1);
// Getting the Country TextView
TextView tv_title = (TextView) relativeLayoutChild
.getChildAt(0);
TextView startTime = (TextView) linearLayoutChild
.getChildAt(0);
TextView endTime = (TextView) linearLayoutChild
.getChildAt(1);
String mTitle = tv_title.getText().toString();
String mstartTime = startTime.getText().toString();
String mendTime = endTime.getText().toString();
Intent intent = new Intent(getActivity(), EventDetail.class);
intent.putExtra("title", mTitle);
intent.putExtra("starttime", mstartTime);
intent.putExtra("endtime", mendTime);
startActivity(intent);
Toast.makeText(getActivity(),
mTitle + " " + mstartTime + " " + mendTime,
Toast.LENGTH_SHORT).show();
}
};
listview.setOnItemClickListener(itemClickListener);
}
}
public void onStart() {
super.onStart();
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
}
}
Эй Асадом Пожалуйста сообщение код для этого –
@RajanBhavsar обновить для просмотра кода и для прослушивания кликов я понятия не имею, как это сделать –
Вы должны установить тег как истинный с каждым элементом списка и если нет описания для этого элемента, тогда установите для него значение false, и при нажатии на него вы должны проверить тег для этого элемента, если он истинен затем запустите свой код еще не. –