我正在尝试制作这样的布局:
问题是我不希望ListViews可滚动.我希望它们尽可能高,并使整个屏幕可滚动.如果我将ListView的高度设置为ListViews
,则不起作用.使它工作的唯一方法是设置一个特定的高度 - 但我不知道ListView中有多少项.
我知道我不应该将ListView放在ScrollView中 - 但我不希望ListView可以滚动,只是为了显示所有项目.
也许还有更好的方法让它发挥作用?
我有一个带有导航抽屉和片段的活动.他们每个人都有自己的ListView和上下文菜单.
导航抽屉内的上下文菜单工作正常.
问题在于片段内的菜单.当我进入片段的上下文菜单时,会显示两个导航抽屉菜单和片段的菜单.
活动的方法
@Override
protected void onCreate(Bundle savedInstanceState) {
registerForContextMenu(mDrawerList); // mDrawrList is the navigation drawer's ListView
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch(item.getItemId()) {
case R.id.action_edit:
// Do some stuff
return true;
case R.id.action_delete:
// Do some stuff
return true;
}
return super.onContextItemSelected(item);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.drawer, menu);
}
Run Code Online (Sandbox Code Playgroud)
片段的方法
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, …
Run Code Online (Sandbox Code Playgroud) android android-fragments android-contextmenu navigation-drawer
我有两个简单的活动 - 活动1:来自Array Activity2的ListView:EditText,用于编辑Activity1中单击的行
当我在Activity2中编辑值并返回到Activity1时,ListView不会重新加载新值.
我想从Activity2返回或恢复Activity1或更新列表的东西时刷新ListView.
我的代码:
static ArrayAdapter<String> dataAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Loading the values to list array
String[][] fulllist = loadArrays();
String[] list = new String[fulllist.length];
for(int i = 0; i<fulllist.length; i++) {
list[i] = fulllist[i][1];
}
// --------------------------------
dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
list);
setListAdapter(dataAdapter);
}
@Override
public void onResume() {
super.onResume();
// Loading the values to list array
String[][] fulllist = loadArrays();
String[] list = new String[fulllist.length];
for(int i = 0; …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将毫秒日期转换为years
months
weeks
和的数量days
.
例如:5 months, 2 weeks and 3 days
或1 year and 1 day
.
我不想要:7 days
或者4 weeks
>这应该是1 week
和1 month
.
我尝试了几种方法,但它总是变得类似7 days and 0 weeks
.
我的代码:
int weeks = (int) Math.abs(timeInMillis / (24 * 60 * 60 * 1000 * 7));
int days = (int) timeInMillis / (24 * 60 * 60 * 1000)+1);
Run Code Online (Sandbox Code Playgroud)
我必须在天数上加1,因为如果我有23个小时应该是1天.
请解释如何正确转换它,我认为有更有效的方法来做到这一点.
我想更改 GridView 中特定项目的背景颜色(按位置)。
gridview.getChildAt(1).setBackgroundResource(android.R.drawable.btn_default);
Run Code Online (Sandbox Code Playgroud)
不起作用。
如果我在 OnClickListener 中使用它,它会起作用:
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
view.setBackgroundResource(android.R.drawable.btn_default);
}
Run Code Online (Sandbox Code Playgroud)
但我想不点击就改变它。
编辑
图像适配器:
public class ImageAdapter extends BaseAdapter {
private final String TAG = getClass().toString();
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView …
Run Code Online (Sandbox Code Playgroud) 我正在尝试从GridView获取视图.不幸的是,它回来了null
.
的onCreate():
GridView gridview = (GridView) findViewById(R.id.gridView);
gridview.getChildAt(3).setBackgroundResource(R.drawable.list_selector_holo_light);
Run Code Online (Sandbox Code Playgroud)
gridview.getChildCount()
也返回0!
我该怎么做才能获得这个视图?我知道有一个选项可以更改适配器中的背景,但我必须动态地执行它.
感谢帮助!
编辑
setAdapter:
gridview.setAdapter(new ImageAdapter(this));
Run Code Online (Sandbox Code Playgroud)
ImageAdapter:
public View getView(int position, View convertView, ViewGroup parent) {
final ImageView imageView;
if (convertView == null) { // if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个简单的代码,在用户单击它时删除ListView项.我的代码:
static ArrayAdapter<String> dataAdapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notifications_list);
String[] arraylist = {"a", "b", "c", "d"};
List<String> list = Arrays.asList(arraylist);
dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
list);
setListAdapter(dataAdapter);
}
public void onListItemClick(ListView l, View v, final int position, long id) {
dataAdapter.remove(dataAdapter.getItem(position));
dataAdapter.notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)
单击该项目时,应用程序崩溃并显示以下错误:
D/AndroidRuntime(31862): Shutting down VM
W/dalvikvm(31862): threadid=1: thread exiting with uncaught exception (group=0x40b4e300)
E/AndroidRuntime(31862): FATAL EXCEPTION: main
E/AndroidRuntime(31862): java.lang.UnsupportedOperationException
E/AndroidRuntime(31862): at java.util.AbstractList.remove(AbstractList.java:638)
E/AndroidRuntime(31862): at java.util.AbstractList$SimpleListIterator.remove(AbstractList.java:75)
E/AndroidRuntime(31862): at java.util.AbstractCollection.remove(AbstractCollection.java:229)
E/AndroidRuntime(31862): at android.widget.ArrayAdapter.remove(ArrayAdapter.java:244)
E/AndroidRuntime(31862): at com.dennis.notifications.NotificationList.onListItemClick(NotificationList.java:113)
E/AndroidRuntime(31862): …
Run Code Online (Sandbox Code Playgroud) 我正在尝试执行通知操作(适用于Android 4.1+),将一些文本复制到剪贴板.我阅读了有关复制粘贴功能的参考资料,现在我有了这个:
ClipboardManager clipboard = (ClipboardManager)
mContext.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("simple text","Hello, World!");
Run Code Online (Sandbox Code Playgroud)
我不知道如何把它放入一个将被放入PendingIntent的Intent中.
如果你能给我一些例子并解释它 - 它会很棒!我是android开发的新手.先感谢您.
编辑: 我发现了这个:https://stackoverflow.com/a/12601766/1866009但我不能正确理解.