【发布时间】:2014-08-28 09:08:40
【问题描述】:
大家好,我有一个关于在列表视图中删除或隐藏列表的问题,例如 javascript 中的 .hide() 。我知道这里有很多关于它的答案,但似乎它没有回答我的问题。为了解释清楚,下面是我的代码的一部分。
package sample.wew.wew;
import info.androidhive.sqlite.model.Message;
import java.util.ArrayList;
import java.util.List;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class QuestionsSent extends Fragment {
private static final String TAG = "Question";
private static List questions;
protected ListAdapter adapter;
ListView theList;
@SuppressWarnings("deprecation")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view;
view = inflater.inflate(R.layout.questions_main_layout, container, false);
AskdDatabaseHelper msg_db = new AskdDatabaseHelper(getActivity());
Cursor cursor = msg_db.FetchQuestion("S");
String[] fromFieldNames = new String[] { "msg_from_user", "msg_message" };
int[] toViewIDs = new int[] { R.id.tvMessage, R.id.tvMessageSender };
adapter = new QuestionsCursorAdapter(getActivity(), // Context
R.layout.question_detail, // Row layout template
cursor, // cursor (set of DB records to map)
fromFieldNames, // DB Column names
toViewIDs // View IDs to put information in
);
theList = (ListView) view.findViewById(R.id.list);
theList.setAdapter(adapter);
theList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
/*
Log.v(TAG, ": NAAY GI CLICK");
Intent intent = new Intent(getActivity(), Sent_details.class);
Cursor cursor = (Cursor) adapter.getItem(position);
Log.d("TAG", "" + adapter.getItem(position));
intent.putExtra("MESSAGE_ID", cursor.getString(cursor.getColumnIndex("msg_message")));
startActivity(intent);
*/
// HERE IS WHERE I WANT TO PUT MY CODE TO DELETE OR HIDE A LIST
}
});
if(adapter.isEmpty()){
view = inflater.inflate(R.layout.fragments_question_new, container, false);
((TextView)view.findViewById(R.id.textView)).setText("No Sent Questions");
}
return view;
}
}
【问题讨论】:
-
您想从列表中删除随机行/记录吗?我说的对吗?
-
@Darkie 我想删除我点击的行。
-
所以我假设您正在从数据库的列表视图中显示记录?
-
如果可以使用自定义适配器,可以为点击位置的对象设置任意标志,调用notifyDatasetchanged();在getView()中,需要通过检查条件来显示,getCount()也一样
-
@Jithu 你能给我一个示例代码吗?我是android的初学者
标签: android simplecursoradapter onitemclick