无法弄清楚我的代码有什么问题:
registerForContextMenu(lv_myhitshotlists);
AdapterContextMenuInfo menuinfo = null;
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
/*menu.setHeaderTitle("Item Operations");
menu.add(0, v.getId(), 0, "Edit Film");
menu.add(0, v.getId(), 0, "Delete Film");*/
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_myfilm_list,menu);
menuinfo = (AdapterContextMenuInfo) menuInfo;
menu.setHeaderTitle("Options");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
try{
menuinfo = (AdapterContextMenuInfo) item.getMenuInfo();
AdapterView.AdapterContextMenuInfo info= (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
Long ids = madapter.getItemId(info.position);//what item was selected is ListView
i = ids.intValue();
switch (item.getItemId()) {
case R.id.menu_edit_myfilm:
intHitshotEdit = new Intent(MyHitshotListActivity.this,MyHitshotInfoEditActivity.class);
intHitshotEdit.putExtra("video_id", myList.get(i).getid()); …Run Code Online (Sandbox Code Playgroud) 我需要在列表视图中设置一个偏移量。我最初是使用ScrollBy(X,Y)实现的,但是一旦我触摸列表视图,它就会恢复为零(我的偏移量为负)。
如何保持此偏移量?
有谁知道任何图书馆,如何实现这一点或任何巫术已经为此做出.
带有上下文菜单的列表视图?我不想使用具有长按上下文菜单的那个.
谢谢

我正在尝试创建一个可以支持侧滑动的列表视图.我希望用户能够将listview元素向右拖动,然后在屏幕外面重新调整下面的删除按钮.用户应该能够单击删除按钮从列表视图中删除该元素.我一直关注http://www.youtube.com/watch?v=YCHNAi9kJI4,但只需要帮助将删除按钮添加到后台.有帮助吗?
好的,现在我有一个具有设定高度的ListView.

但是当ListView的某一行内部的内容增长时...行没有

正如您在第二张图片上看到的那样,内容在第一行被截断
当没有足够的空间时,有什么办法可以让单行展开吗?
活动代码:
public class MainActivity extends ActionBarActivity {
ArrayList<Location> arrayOfLocations;
LocationAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
// Construct the data source
arrayOfLocations = new ArrayList<Location>();
// Create the adapter to convert the array to views
adapter = new LocationAdapter(this, arrayOfLocations);
adapter.add(new Location(R.drawable.ic_launcher, "Fruit Stand",
"We have the freshest fruit in the whole world!", "2 miles",
"8-5 mon-sat\nclosed sun"));
//getData();
// Attach the adapter to a ListView
ListView listView = (ListView) …Run Code Online (Sandbox Code Playgroud) 我一直看到"应用程序可能在其主线程上做了太多工作."
这是由我下面的代码中的swapCursor()引起的吗?看起来如此:如果我删除它,上面的警告就会消失.
我仍然不明白为什么它声称是导致问题的主要线程.我已经将swapCursor()移动到各种位置,例如onLoadFinished()和loadInBackground(),但我得到了相同的结果.
如何调用swapCursor()以便不显示此警告?我使用SimpleCursorLoader的全部原因是避免占用主线程,但它仍在发生.
package com.example.sqlitetest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.LoaderManager;
import android.support.v4.app.LoaderManager.LoaderCallbacks;
import android.support.v4.content.Loader;
import android.support.v4.content.CursorLoader;
import android.support.v4.widget.SimpleCursorAdapter;
import android.support.v4.widget.SimpleCursorAdapter.ViewBinder;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends FragmentActivity implements LoaderManager.LoaderCallbacks<Cursor>
{
public static Context mContext;
private LoaderManager.LoaderCallbacks<Cursor> mLoaderCallbacks;
public static SQLiteDatabase db;
public …Run Code Online (Sandbox Code Playgroud) android android-listview simplecursoradapter android-loadermanager android-cursorloader
尝试了很多方法并阅读了大量的文字,但我仍然无法理解如何解决我的问题.我们的想法是,HashMap中填充了一个"for"循环,其中包含来自数据库的数据.此外,此参数(HashMap)传递给listViewContent然后创建适配器并最终填充listView.事实是listView中的每一行都有2个textView和1个imageView,我需要从这个listView的第二个textView获取文本,数据存储在数据库中.
这是我的代码块:HashMap块
if (posts != null) {
for (WallPostItem post : posts) {
//create new map for a post
Map<String, Object> map = new HashMap<String, Object>();
map.put(ATTRIBUTE_NAME_TEXT, post.text);
PictureItem postPicture = new PictureItem();
map.put(ATTRIBUTE_NAME_IMAGE, postPicture);
map.put(ATTRIBUTE_NAME_DATE, post.date);
if ((post.pictures != null) && (post.pictures.size() != 0)) {
//start downloading of pictures
String pictureLink = post.pictures.get(0);
if (dbHandler.hasPicture(pictureLink)) {
Bitmap image = dbHandler.getPicture(pictureLink);
int width = image.getWidth();
int height = image.getHeight();
if (width>800 || height>800){
int threeWidth = width / 2;
int …Run Code Online (Sandbox Code Playgroud) 我正在解析XML并尝试在列表视图中传播它.
我正在使用以下代码
主要活动,
public class MainActivity extends ListActivity {
ArrayList<String> xmlList=new ArrayList<String>();
ArrayList<String> xmlList1=new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try{
InputStream is=getResources().openRawResource(R.raw.sample);
DocumentBuilder builder=DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc=builder.parse(is, null);
NodeList nodes=doc.getElementsByTagName("id");
NodeList nodes1=doc.getElementsByTagName("Name");
if(nodes!=null && nodes.getLength() >0)
{
xmlList.clear();
xmlList1.clear();
int len=nodes.getLength();
for(int i=0;i<len;i++)
{
Node node=nodes.item(i);
Node node1=nodes1.item(i);
xmlList.add(node.getTextContent());
}
}
}
catch(Exception e)
{
Toast.makeText(getApplicationContext(), ""+e.toString(), Toast.LENGTH_LONG).show();
e.printStackTrace();
}
CustomList adapter=new CustomList(MainActivity.this,xmlList,xmlList1);
setListAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
CustomList.java
public class CustomList extends ArrayAdapter<String> {
Context context;
private final ArrayList<String> mainText;
private …Run Code Online (Sandbox Code Playgroud) 我希望你能帮助我.我是Android开发的新手,我已经尝试过对此进行研究,但我没有运气.我希望你能解决我的简单问题.
如何在片段上使用setListAdapter?我的活动扩展了片段,我无法将其转换为listfragment,因为我在其中一个片段选项卡中显示它.
public class AccountFragment extends Fragment implements OnItemClickListener {
private LoginDataBaseAdapter loginDataBaseAdapter;
private RemindersDbAdapter mDbHelper;
ListView listv;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mDbHelper = new RemindersDbAdapter(getActivity());
mDbHelper.open();
fillData();
//registerForContextMenu(getListView());----- Not working too :(
//intialize variables
View rootView = inflater.inflate(R.layout.fragment_account, container, false);
registerForContextMenu(getView());
listv = (ListView) rootView.findViewById(R.id.remlist);
return rootView;
}
@Override
public void onActivityResult( int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
fillData();
}
private void fillData() {
Cursor remindersCursor = mDbHelper.fetchAllReminders();
getActivity().startManagingCursor(remindersCursor); …Run Code Online (Sandbox Code Playgroud) 我正在制作GroceryList应用程序.我想在单击ListView项目的复选框时将Strikethrough实现到TextView.
当我点击复选框时,该项应该被检查为删除线.
请提供一些示例代码以在Listview中实现Strikethrough.
提前致谢.
android ×10
android-listview ×10
listview ×5
java ×2
android-view ×1
checkbox ×1
contextmenu ×1
hashmap ×1