我有一个SharePoint列表,我正在使用客户端对象模型添加新的ListItems.添加ListItems不是问题,效果很好.
现在我想添加附件.
我以下列方式使用SaveBinaryDirect:
File.SaveBinaryDirect(clientCtx, url.AbsolutePath + "/Attachments/31/" + fileName, inputStream, true);
Run Code Online (Sandbox Code Playgroud)
只要我尝试添加附件的项目已经具有通过SharePoint网站添加的附件而不使用客户端对象模型,它就没有任何问题.
当我尝试将附件添加到没有任何附件的项目时,我会收到以下错误(两者都发生但没有相同的文件 - 但这两个消息始终显示):
The remote server returned an error: (409) Conflict
The remote server returned an error: (404) Not Found
我想我可能需要先为这个项目创建附件文件夹.当我尝试以下代码时:
clientCtx.Load(ticketList.RootFolder.Folders);
clientCtx.ExecuteQuery();
clientCtx.Load(ticketList.RootFolder.Folders[1]); // 1 -> Attachment folder
clientCtx.Load(ticketList.RootFolder.Folders[1].Folders);
clientCtx.ExecuteQuery();
Folder folder = ticketList.RootFolder.Folders[1].Folders.Add("33");
clientCtx.ExecuteQuery();
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
Cannot create folder "Lists/Ticket System/Attachment/33"
我拥有SharePoint站点/列表的完全管理员权限.
我有什么想法可能做错了吗?
谢谢,Thorben
正如我在之前提出的问题中所看到的,在自定义适配器类(例如,MyAdapter扩展ArrayAdapter)中,它们总是使用膨胀的xml列表项布局.我希望做的是完全使用Java创建所有内容,而不是使用XML ...
// for example
String[] wordlist = new String[] {a, b, c};
LinearLayout list_item_layout = new LinearLayout(this);
list_item_layout.setId(5000);
TextView listText = new TextView(this);
listText.setId(5001);
listLayout.addView(listText);
ListView list = new ListView(this);
// ** QUESTION ** do I declare a programmatic .setAdapter() like this?
// ** TAKE NOTE ** I passed 'wordlist' here..
list.setAdapter(new MyAdapter(this, list_item_layout.getId(), listText.getId(), wordlist));
Run Code Online (Sandbox Code Playgroud)
然后为MyAdapter ......
private class MyAdapter extends ArrayAdapter<String> {
public MyAdapter(Context context, int resource, int textViewResourceId, String[] strings) {
super(context, resource, textViewResourceId, strings);
} …Run Code Online (Sandbox Code Playgroud) 我需要使用asp.net控件生成此结构,但ListItem不允许添加属性和类.
最好的方法是什么?
<ul>
<li class="1">SomeText</li>
<li class="2">SomeText2</li>
</ul>
Run Code Online (Sandbox Code Playgroud) 我有一个这个aspx代码:(样本)
<asp:DropDownList runat="server" ID="ddList1"></asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)
有了这个代码隐藏:
List<System.Web.UI.WebControls.ListItem> colors = new List<System.Web.UI.WebControls.ListItem>();
colors.Add(new ListItem("Select Value", "0"));
colors.Add(new ListItem("Red", "1"));
colors.Add(new ListItem("Green", "2"));
colors.Add(new ListItem("Blue", "3"));
ddList1.DataSource = colors;
ddList1.DataBind();
Run Code Online (Sandbox Code Playgroud)
输出如下所示:
<select name="ddList1" id="ddList1">
<option value="Select Value">Select Value</option>
<option value="Red">Red</option>
<option value="Green">Green</option>
<option value="Blue">Blue</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么我的值(数字)消失了,文本用作值和文本?我知道如果我使用该ddList1.Items.Add(New ListItem("text", "value"))方法它是有效的,但出于其他原因我需要使用通用列表作为数据源.
我有一个RecyclerView,它在每个特定时期添加项目.添加对象时,如果列表项超过(假设)500,则将删除第一个项目并添加新项目.
如果RecyclerView不能再向下滚动,!recyclerView.canScrollVertically(1);那么在添加新项目后,RecyclerView将smoothScroolToPosition()到达最后一个位置.
问题出在哪儿? 好吧,如果ReyclerView在移除旧物品时位于中间(不是底部,而不是顶部),它会突然跳起一些位置.我希望RecyclerView不会跳转位置并保持在顶部移除物品时的位置
我尝试过layoutManager.setStackFromEnd(true);但没有运气
有什么建议?
一些代码(不相关的代码被删除).当RecyclerView从中间显示列表项并按VOLUME_UP时,我的问题可以重现:
public class ActivityMain extends ActionBarActivity {
public static final int MAX_LOG_ITEMS = 500;
private RecyclerView mRecyclerView;
private AdapterLog mRecyclerAdapter;
private boolean mAutoScroll = true;
private DataReceiver mDataReceiver;
private Handler mLogHandler = new Handler() {
@Override public void handleMessage(Message msg) {
switch (msg.what){
case DataReceiver.CAT_LOGS:
List<Log> catLogs = (List<Log>) msg.obj;
updateLogs(catLogs);
break;
case DataReceiver .CLEAR_LOGS:
if (mRecyclerAdapter.getItemCount() > MAX_LOG_ITEMS)
mRecyclerAdapter.removeFirstItems(mRecyclerAdapter.getItemCount() - MAX_LOG_ITEMS);
break;
case Logcat.REMOVE_LOGS:
mRecyclerAdapter.clear();
}
} …Run Code Online (Sandbox Code Playgroud) 我正在使用 React Native 构建我的应用程序,并使用 Jest 和 Enzyme 进行单元测试。如何测试 my<FlatList />的renderItem()功能?
它<ListItem />从 React-Native-Elements 库返回一个。
让我给你示例代码:
import { ListItem } from 'react-native-elements'
export class MyList extends Component {
const list = [
{
name: 'Amy Farha',
subtitle: 'Vice President'
},
{
name: 'Chris Jackson',
avatar_url: 'https://s3.amazonaws.com/uifaces/faces/twitter/adhamdannaway/128.jpg',
subtitle: 'Vice Chairman'
},
... // more items
]
keyExtractor = (item, index) => index
renderItem = ({ item }) => (
<ListItem
title={item.name}
subtitle={item.subtitle}
leftAvatar={{
source: item.avatar_url && …Run Code Online (Sandbox Code Playgroud) 我对Listview有一些问题.Listview包含由imageview和textview组成的列表项.Textview包含可点击的链接.当我将LinkMovementMethod设置为textviews时,listitems不会收到onclick事件.我仍然找不到任何正确的解决方案=(.任何人都可以解释如何解决它或给出一个使用textite与listitem内部的可点击链接的例子吗?谢谢.这里是适配器中的textview创建:
TextView text = (TextView) ((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE))
.inflate(R.layout.post_content_text, null);
SpannableString sString = new SpannableString(d.getText());
//I have my own class UrlSpan that contain fields startPosition, endPosition and urlLink
for (UrlSpan us : ((TextData) d).getUrls())
{
URLSpan urlSpan = new URLSpan(us.getUrl());
sString.setSpan(urlSpan, us.getStart(), us.getEnd(), SpannableString.SPAN_INCLUSIVE_INCLUSIVE);
}
text.setText(sString);
text.setMovementMethod(LinkMovementMethod.getInstance());
view.addView(text);
Run Code Online (Sandbox Code Playgroud)
和列表项是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible" >
<LinearLayout
style="?PostListRow"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="10dp"
android:orientation="vertical"
android:padding="10dp" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="65dp"
android:orientation="horizontal" >
<ImageView
android:id="@+id/user_image"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_margin="3dp"
android:clickable="true"
android:src="@drawable/ic_no_photo" />
<LinearLayout
android:layout_width="fill_parent" …Run Code Online (Sandbox Code Playgroud) 在CAML中,我可以使用"Contains"元素查询SharePoint Listitems,但是没有"不包含" - 我可以使用的元素.
那么获取不包含字符串的项目的最佳方法是什么?有没有比循环每个项目更好的方法?
我正在尝试使列表项可扩展.基本上,我想在每个列表项上都有一个按钮,当按下该按钮时,会展开该列表项以显示更多信息.
这可能在Android上?如果是的话,我该怎么做?
谢谢
编辑:为了澄清,理想情况下,我希望当前列表项目enlargegen以显示更多信息
我正在使用a SimpleCursorAdapter和a ListView来显示一些加载了Loader的数据.在里面,cursor我有一个int从0到3的项目.
我希望具有此int的项目等于0-1以具有布局(右对齐,一种颜色)和具有2-3的项目以具有另一布局(左对齐,另一种颜色).
much like a chat app, where sent messages are on the right and received ones are on the left.
有一个简单的方法吗?像开关一样,0-1我膨胀layout_1和2-3我膨胀layout_2.
编辑:我已经添加了ListFragment的代码,我正在尝试填充.用作开关的int是MyContentProvider.Data.E_TYPE.我无法理解它,但也许有人可以清楚地解释我要写的东西!
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.corsalini.survcontr.MyContentProvider.Data;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.support.v4.content.CursorLoader;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;
import android.support.v4.widget.CursorAdapter;
import android.support.v4.widget.SimpleCursorAdapter;
import android.util.Log;
import android.view.View;
import android.widget.ListView;
public class FragEvents extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor>{
@Override
public void onPause() {
allRead();
super.onPause();
}
private static …Run Code Online (Sandbox Code Playgroud) listitem ×10
android ×5
listview ×4
asp.net ×2
adapter ×1
android-ui ×1
attachment ×1
c# ×1
caml ×1
client ×1
enzyme ×1
java ×1
jestjs ×1
loader ×1
react-native ×1
sharepoint ×1
textview ×1
webforms ×1